同num8一样,此题考查的是二叉树的中序遍历,即先左子树再节点再右子树、
使用迭代法时,采用将节点和左子树均压入栈的方法,当左子树为NULL时,将top节点弹出,并存入结果列表,将next指针指向该节点的右节点
代码如下:
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* Tre...
分类:
其他好文 时间:
2014-09-24 20:04:07
阅读次数:
177
引用剑指offer 1 //判断以root1为根的树是否和树2有相同的结构(如果为真,必须从root1节点就相同) 2 bool doesRoot1HaveAllNodesOfRoot2(treeNode* root1,treeNode* root2){ 3 if(root2==NULL) ...
分类:
其他好文 时间:
2014-09-20 13:57:17
阅读次数:
118
引用编程之美,百度笔试题 1 //二叉树中和为某一值的所有路径 2 void findPath(treeNode* root,vector& path, int& curSum,int expSum){ 3 if(root==NULL) 4 return; 5 //将...
分类:
其他好文 时间:
2014-09-20 09:57:57
阅读次数:
211
应用剑指offer 1 //判断二叉树是否平衡,后序遍历 2 bool isBalanced(treeNode* root,int& deep){ 3 if(root==NULL){ 4 deep=0; 5 return true; 6 } 7 ...
分类:
其他好文 时间:
2014-09-20 09:57:07
阅读次数:
162
struct TreeNode { struct TreeNode* left; struct TreeNode* right; char elem; }; TreeNode* BinaryTreeFromOrderings(char* inorder, ...
分类:
其他好文 时间:
2014-09-15 12:50:08
阅读次数:
167
思路:AVL树是高度平衡的二叉搜索树,这里为了清晰说明,分别判断是否为搜索树,是否为平衡树。struct TreeNode{ struct TreeNode *left; struct TreeNode *right; int key;};//这里先判断是否为二叉搜索树,其次判断是...
分类:
其他好文 时间:
2014-09-13 11:51:45
阅读次数:
205
递归 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode...
分类:
其他好文 时间:
2014-09-12 11:36:23
阅读次数:
183
1 public class Solution { 2 public int minDepth(TreeNode root) { 3 if (root==null) return 0; 4 List upperLevelList = new ArrayLis...
分类:
其他好文 时间:
2014-09-12 01:08:32
阅读次数:
285
public class Solution { public int sumNumbers(TreeNode root) { int sum=0; TreeNode nowNode = root; Stack nodeStack = new Stack...
分类:
其他好文 时间:
2014-09-11 23:40:42
阅读次数:
224
1 /** 2 * Definition for binary tree 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * TreeNode right; 7 * TreeNo...
分类:
其他好文 时间:
2014-09-10 01:35:19
阅读次数:
221