LeetCode:Binary Tree Level Order Traversal I II
2013-11-24 21:37
387 查看
LeetCode:Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree
return its level order traversal as:
队列辅助层序遍历,队列中插入NULL作为层与层之间的间隔,注意处理队列里最后的NULL时,不能再把它入队列以免形成死循环
LeetCode:Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
For example:
Given binary tree
return its bottom-up level order traversal as:
和上一题差不多,只是需要把最后遍历结果数组翻转一下
【版权声明】转载请注明出处:/article/4879657.html
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7] ] 本文地址
队列辅助层序遍历,队列中插入NULL作为层与层之间的间隔,注意处理队列里最后的NULL时,不能再把它入队列以免形成死循环
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int> > levelOrder(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<vector<int> >res; if(root == NULL)return res; queue<TreeNode*> myqueue; myqueue.push(root); myqueue.push(NULL);//NULL是层与层之间间隔标志 vector<int> level; while(myqueue.empty() == false) { TreeNode *p = myqueue.front(); myqueue.pop(); if(p != NULL) { level.push_back(p->val); if(p->left)myqueue.push(p->left); if(p->right)myqueue.push(p->right); } else { res.push_back(level); if(myqueue.empty() == false) { level.clear(); myqueue.push(NULL); } } } return res; } };
LeetCode:Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7] [9,20], [3], ]
和上一题差不多,只是需要把最后遍历结果数组翻转一下
/** * Definition for binary tree * 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) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<vector<int> >res; if(root == NULL)return res; queue<TreeNode*> myqueue; myqueue.push(root); myqueue.push(NULL);//NULL是层与层之间间隔标志 vector<int> level; while(myqueue.empty() == false) { TreeNode *p = myqueue.front(); myqueue.pop(); if(p != NULL) { level.push_back(p->val); if(p->left)myqueue.push(p->left); if(p->right)myqueue.push(p->right); } else { res.push_back(level); if(myqueue.empty() == false) { level.clear(); myqueue.push(NULL); } } } reverse(res.begin(), res.end()); return res; } };
【版权声明】转载请注明出处:/article/4879657.html
相关文章推荐
- leetcode || 107、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 C++
- leetcode107——Binary Tree Level Order Traversal II
- leetcode 日经贴,Cpp code -Binary Tree Level Order Traversal II
- LeetCode107——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
- Binary Tree Level Order Traversal II (leetcode)
- leetcode——107——Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- Leetcode 107 Binary Tree Level Order Traversal II 二叉树+BFS
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode: Binary Tree Level Order Traversal II
- leetcode -- Binary Tree Level Order Traversal & II-- 重点
- [C++]LeetCode: 32 Binary Tree Level Order Traversal II
- [leetcode-107]Binary Tree Level Order Traversal II(java)
- leetcode - Binary Tree Level Order Traversal II