Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
#include
#include
typedef struct TreeNode {
int v...
分类:
其他好文 时间:
2015-01-30 22:50:28
阅读次数:
266
原题地址二叉树基本操作——遍历题目没说数字都是正数,所以没法剪枝,只能全部遍历一遍。代码: 1 vector > res; 2 3 void traverse(TreeNode *root, vector ans, int sum) { 4 if (!root) 5 retur...
分类:
其他好文 时间:
2015-01-30 14:34:35
阅读次数:
226
原题地址中序遍历二叉树,递归展开。别忘了将left设为NULL,如果忘掉的话可能报Runtime Error,而且这个RE很难查出原因。代码: 1 TreeNode *solve(TreeNode *root) { 2 if (!root) return NULL; 3 4 ...
分类:
其他好文 时间:
2015-01-30 14:31:21
阅读次数:
121
原题地址二叉树基本操作[ ]O[ ][ ][ ]O代码: 1 TreeNode *restore(vector &inorder, vector &postorder, int ip, int pp, int len) { 2 if (len == 0) 3 ...
分类:
其他好文 时间:
2015-01-30 10:36:55
阅读次数:
186
原题地址基本二叉树操作。O[ ][ ][ ]O[ ]代码: 1 TreeNode *restore(vector &preorder, vector &inorder, int pp, int ip, int len) { 2 if (len left = r...
分类:
其他好文 时间:
2015-01-30 10:36:12
阅读次数:
125
原题地址对于已排序数组,二分法递归构造BST代码: 1 TreeNode *buildBST(vector &num, int i, int j) { 2 if (i > j) 3 return NULL; 4 5 int m = (i + j) /2; 6 T...
分类:
其他好文 时间:
2015-01-30 10:26:25
阅读次数:
158
原题地址跟Convert Sorted Array to Binary Search Tree(参见这篇文章)类似,只不过用list就不能随机访问了。代码: 1 TreeNode *buildBST(ListNode *head, int len) { 2 if (len next; 9 ...
分类:
其他好文 时间:
2015-01-30 10:24:52
阅读次数:
192
#pragma once
#include
#include
using namespace std;
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
bool isSameTree(TreeNode...
分类:
其他好文 时间:
2015-01-30 09:11:06
阅读次数:
214
原题地址基本数据结构操作,二叉树的层次遍历。代码: 1 vector > zigzagLevelOrder(TreeNode *root) { 2 vector > res; 3 vector layer; 4 bool l2r = true; 5 ...
分类:
其他好文 时间:
2015-01-29 20:49:11
阅读次数:
169
private void treeView_ItemDrag(object sender, ItemDragEventArgs e) { TreeNode dragNode = e.Item as TreeNode; DoDr...