题目描述:给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下:
- 二叉树的根是数组 nums 中的最大元素。
- 左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。
- 右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。
返回有给定数组 nums 构建的 最大二叉树 。
题目描述:给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下:
返回有给定数组 nums 构建的 最大二叉树 。
题目描述:给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:
1 | class Node { |
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。你只能使用常量级额外空间。使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。
题目描述:给你二叉树的根结点 root ,请你将它展开为一个单链表:
题目描述:翻转一棵二叉树。
题目描述:请判断一个链表是否为回文链表。你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
题目描述:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你可以设计一个只使用常数额外空间的算法来解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
反转单链表的前n个元素与反转单链表是类似的问题,同理其也会有三种方法去解决。可以增加一个栈来解决,这样相当于只对前n个元素进行压栈处理,同理也可以用遍历的方法解决,由于能用栈解决同样也就可以使用递归的方式解决。
hexo博客搭建好之后,如何调整样式对于没有前端基础的人来说是一件很困难的事情,下面分享我样式调整过程中的一些经验,由于我使用的是Next主题,所以如果是其它的主题的仅做参考,有可能细节之处不太一样。
单链表的反转,我们能想到反转顺序最简单的数据结构就是栈了,如果可以用栈的话,那问题就简单了。顺序遍历单链表,依次入栈直到遍历结束,然后依次出栈重新有前到后连接为一个新的单链表,则自动实现了反转功能。
题目描述:给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。