[Leetcode] Binary Tree Level Order Traversal II
2016-09-28 12:17
267 查看
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int>> levelOrderBottom(TreeNode* root) { queue<TreeNode*> S; vector<vector<int>> reLevel; int i=0; int j=0; if(!root) return reLevel; S.push(root); i=1; TreeNode* p= nullptr; vector<int> cur; while(!S.empty()){ if(i == 0){ i=j; j=0; reLevel.push_back(cur); cur.clear(); } p=S.front(); cur.push_back(p->val); S.pop(); i=i-1; if(p->left){ j=j+1; S.push(p->left); } if(p->right){ j=j+1; S.push(p->right); } } reLevel.push_back(cur); reverse(reLevel.begin(),reLevel.end()); return reLevel; } };
第一次利用课本知识写出能运行的代码,渣渣纪念一下。利用i指示当前层次,j指示下一层元素个数,一定要记得对空指针进行异常处理
相关文章推荐
- [LeetCode] Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- [leetcode刷题系列]Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- LeetCode -- Binary Tree Level Order Traversal II
- LeetCode 之 Binary Tree Level Order Traversal II
- LeetCode: Binary Tree Level Order Traversal II
- leetcode 107: Binary Tree Level Order Traversal II
- LeetCode 107: Binary Tree Level Order Traversal II
- LeetCode 107 Binary Tree Level Order Traversal II
- [LeetCode]107 Binary Tree Level Order Traversal II
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- Leetcode: Binary Tree Level Order Traversal II
- [leetcode]_Binary Tree Level Order Traversal I && II
- LeetCode(107)Binary Tree Level Order Traversal II
- [LeetCode]题解(python):107-Binary Tree Level Order Traversal II
- LeetCode---Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal I,II
- [leetcode 107]Binary Tree Level Order Traversal II