- 博客(10)
- 收藏
- 关注
原创 将二叉树拆成链表
题目描述: 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的right 指针,来表示链表中的 next 指针。 注意事项 不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。 样例 1 \ 1 2 /
2017-04-21 21:20:57
265
原创 翻转二叉树
问题描述: 翻转一棵二叉树 样例 1 1 / \ / \ 2 3 => 3 2 / \ 4 4 解题思路: 判断根节点是否为空,若根节点是否为空,则返回为空;将左子树赋给node,然后分别遍历左子树和右子树,遍历右子树将值赋给左子树,再将左子树赋给右子树,返回这棵树,
2017-04-21 20:54:28
210
原创 克隆二叉树
题目描述: 深度复制一个二叉树。 给定一个二叉树,返回一个他的 克隆品 。 样例 给定一个二叉树: 1 / \ 2 3 / \ 4 5 返回其相同结构相同数值的克隆二叉树: 1 / \ 2 3 / \ 4 5 解题思路: 先判断根节点是否为空,若根节点为空,则返回空;
2017-04-21 20:53:02
218
原创 二叉树的后序遍历
题目描述: 给出一棵二叉树,返回其节点值的后序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [3,2,1] 解题思路: 和前序遍历的思路一样,创建一个指针向量,判断根节点是否为空,若根节点为空,则返回指针向量;构造一个函数A,按照后序遍历的顺序,先访问左子树,再访问右子树,最后访问根节点
2017-04-16 22:02:11
318
原创 二叉树的中序遍历
题目描述: 给出一棵二叉树,返回其中序遍历 样例 给出二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,3,2]. 解题思路: 先创建一个指针向量,和前序遍历的思路一样,判断根节点是否为空,若为空,返回该指针向量;若不为空,创建一个函数A,在函数A中,判断根节点是否为空,若根节点为空,返回空;若根节点不为空
2017-04-16 21:27:42
649
原创 二叉树的前序遍历
问题描述: 给出一棵二叉树,返回其节点值的前序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]. 解题思路: 创建一个向量指针p,如果根节点为空,则返回p;构造一个函数A,在函数A中,判断根节点是否为空,若根节点不为空,则先访问根节点,再访问左子树,最后访问右子树。 代码实
2017-04-16 20:53:05
240
原创 等价二叉树
题目描述: 检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。 样例 1 1 / \ / \ 2 2 and 2 2 / / 4 4 就是两棵等价的二叉树。 1
2017-04-16 20:48:40
234
原创 二叉树的最小深度
题目描述: 给定一个二叉树,找出其最小深度。 二叉树的最小深度为根节点到最近叶子节点的距离。 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最小深度为 2 解题思路: 和求解二叉树的最大深度
2017-04-09 10:23:23
419
原创 二叉树的最大深度
题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最大深度为3. 解题思路: 先判断根节点是否为空,根节点为空,返回二叉树的最大深度为0;根节点不为空,比较左子树和右子树的最大深度,返回深度大的子树,再加上1 代码实
2017-04-09 10:09:52
297
原创 删除链表中的元素
题目:给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。 思路:判断链表中的元素是否和给定的val=3相同,若相同,就删除该节点 代码:ListNode dummy = new ListNode(0); dummy.next = head; head = dumm
2017-03-27 23:07:52
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅