Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                解題思路:
使用隊列實現二叉樹的層序遍歷,因為題目中要求每一層的val存儲在一個vector中,所以在內循環中,還需要一個隊列,用以存儲更新每一層的節點。
在最后,需要將得到的res數組逆序。
/*** 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) {if(!root) return {};vector<vector<int> > res;queue<TreeNode*> q;q.push(root);while(!q.empty()){vector<int> tmp;queue<TreeNode*> tmpq;while(!q.empty()){TreeNode* t = q.front();q.pop();tmp.push_back(t->val);if(t->left) tmpq.push(t->left);if(t->right) tmpq.push(t->right);}res.push_back(tmp);q = tmpq;}reverse(res.begin(), res.end());return res;} };?
?
總結
以上是生活随笔為你收集整理的Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Leetcode 104. 二叉树的最大
 - 下一篇: Leetcode 257. 二叉树的所有