摘要:
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)
摘要:
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)
摘要:
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)
摘要:
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)