qingcheng奕  

2014年2月15日

摘要: http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/树的层序遍历,和上一道题相比,对结果做一个顺序调整 reverse()/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {p... 阅读全文
posted @ 2014-02-15 12:46 qingcheng奕 阅读(148) 评论(0) 推荐(0)
 
摘要: http://oj.leetcode.com/problems/binary-tree-level-order-traversal/树的层序遍历,使用队列由于树不是满的,还要分出每一层来,刚开始给缺少的节点用dummy节点代替,结果超时了。vector > levelOrder(TreeNode *root) { vector > ans; if(root == NULL) return ans; int num = 1,num2 = 1; queue myQueue; myQueue.push(roo... 阅读全文
posted @ 2014-02-15 12:27 qingcheng奕 阅读(155) 评论(0) 推荐(0)
 
摘要: http://oj.leetcode.com/problems/binary-tree-postorder-traversal/树的后序遍历,可以使用递归,也可以使用栈,下面是栈的实现代码#include #include #include using namespace std; struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Solution {public: vec... 阅读全文
posted @ 2014-02-15 11:08 qingcheng奕 阅读(155) 评论(0) 推荐(0)
 
摘要: http://oj.leetcode.com/problems/binary-tree-preorder-traversal/二叉树的先跟遍历,写的是递归版本,也可以使用stack来进行,替代了递归函数。class Solution {public: void preOrder(TreeNode *root,vector &ans) { ans.push_back(root->val); if(root->left) preOrder(root->left,ans); if(root->right) pr... 阅读全文
posted @ 2014-02-15 09:48 qingcheng奕 阅读(134) 评论(0) 推荐(0)