2014年3月9日

Path Sum

摘要: 常规做法是算出每一条路径的和然后和sum比较。类似的题目是打印出从根节点到每个叶子节点的路径。之前学过分支界限法,刚开始觉得可以用来解这道题,不过再想想的话觉得应该不行,分支界限法是找最优化的。常规的做法中加上一些小的判别,会付出一些代价,不过也许会比盲目相加好一些吧。比如说每到一个结点sum就减去那个结点的值,如果结果小于0就不走这条路了。不过问题是题目上并没有说结点的值都是正值呀,所以这样不行。二叉树的非递归遍历参看:http://blog.csdn.net/kofsky/article/details/2886453/*http://www.cppblog.com/CodeStream/ 阅读全文

posted @ 2014-03-09 21:01 crane_practice 阅读(190) 评论(0) 推荐(0) 编辑

Minimum Depth of Binary Tree

摘要: Maximum Depth of Binary Tree可以这样写1 int maxDepth(TreeNode *root) {2 if(!root)3 return 0;4 else5 return 1+max(maxDepth(root->left),maxDepth(root->right));6 }Minimum Depth of Binary Tree如果仿照上面1 int minDepth(TreeNode *root) {2 if(!root)3 re... 阅读全文

posted @ 2014-03-09 19:25 crane_practice 阅读(201) 评论(0) 推荐(0) 编辑

Plus One

摘要: 我觉得逻辑上是清晰的,但是写起来很别扭,感觉不好写,写出来,结果是错的······而且vector,哪里是头哪里是尾?12345我的想法是1是尾,5是头,每次添加都是从尾添加的。而且这个表示的数应该是12345而不是54321,不知道这么理解对不? 1 class Solution { 2 public: 3 vector plusOne(vector &digits) { 4 vector::size_type i,n; 5 n=digits.size(); 6 for(i=0;i' [-fpermissive]13 阅读全文

posted @ 2014-03-09 19:01 crane_practice 阅读(158) 评论(0) 推荐(0) 编辑

导航