戰略牌組構建遊戲《超級子彈破》試玩Demo上線 支援中文
阿新 • • 發佈:2022-05-23
102. 二叉樹的層序遍歷
給你二叉樹的根節點 root
,返回其節點值的 層序遍歷 。 (即逐層地,從左到右訪問所有節點)。
示例 1:
輸入:root = [3,9,20,null,null,15,7]
輸出:[[3],[9,20],[15,7]]
示例 2:
輸入:root = [1]
輸出:[[1]]
示例 3:
輸入:root = []
輸出:[]
提示:
- 樹中節點數目在範圍
[0, 2000]
內 -1000 <= Node.val <= 1000
思路:
BFS廣度優先遍歷即可
class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>>ans; if(root==nullptr)return ans; //BFS queue<TreeNode*>q;//BFS核心結構 q.push(root); while(!q.empty()){//while控制從上到下 int sz=q.size(); vector<int>res; for(int i=0;i<sz;i++){//for從左到右 TreeNode* cur=q.front(); q.pop(); res.push_back(cur->val); if(cur->left!=nullptr)q.push(cur->left); if(cur->right!=nullptr)q.push(cur->right); } ans.push_back(res); } return ans; } };