摘要:
判断一棵树是不是平衡二叉树。思路:递归。每个节点的左右子树是平衡二叉树,并且左右子树的高度相差不超过一。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * Tr...
阅读全文
posted @ 2014-11-29 23:36
higerzhang
阅读(328)
推荐(0)
编辑
摘要:
把一个有序链表构成成平衡二叉树。和上一题有一点像。思路一:将有序链表存在一个数组里。然后根据每次访问中间节点当做根节点递归左右子树节点即可。时间O(n)空间O(n)代码如下:/** * Definition for singly-linked list. * struct ListNode { * ...
阅读全文
posted @ 2014-11-29 21:52
higerzhang
阅读(757)
推荐(0)
编辑
摘要:
利用更有序数组,构造平衡二叉树。思路,递归,每次中间节点为根节点,然后递归获得左右子树。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *...
阅读全文
posted @ 2014-11-29 21:38
higerzhang
阅读(169)
推荐(0)
编辑
摘要:
是这题的变种对一棵树从最后一次开始层次遍历,并返回结果。例如:Given binary tree{3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7return its bottom-up level order traversal as:[ ...
阅读全文
posted @ 2014-11-29 15:26
higerzhang
阅读(219)
推荐(0)
编辑
摘要:
如果你没有做过根据中序遍历和后序遍历构造树,那么请先看Construct Binary Tree from Inorder and Postorder Traversal。这题是:根据前序遍历和中序遍历构造树。类似上一题的思路,我们可以断定正确的是中序遍历的起始下标,和前序遍历左子树的起点下标,以及...
阅读全文
posted @ 2014-11-29 14:56
higerzhang
阅读(227)
推荐(0)
编辑
摘要:
代码实现:给定一个中序遍历和后序遍历怎么构造出这颗树!(假定树中没有重复的数字)因为没有规定是左小右大的树,所以我们随意画一颗数,来进行判断应该是满足题意的。 3 / \ 2 4 /\ / \1 6 5 7中序遍历:1263547.后序遍历:16257...
阅读全文
posted @ 2014-11-29 14:18
higerzhang
阅读(864)
推荐(0)
编辑