【一天一道LeetCode】#102. Binary Tree Level Order Traversal
来源:互联网 发布:成都志愿者软件下载 编辑:程序博客网 时间:2024/05/16 06:36
一天一道LeetCode
本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github
欢迎大家关注我的新浪微博,我的新浪微博
欢迎转载,转载请注明出处
(一)题目
来源: https://leetcode.com/problems/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 [3,9,20,null,null,15,7],3
/ \
9 20
/ \
15 7
return its level order traversal as:[
[3],
[9,20],
[15,7]
]
(二)解题
本题大意:给定一个二叉树,按层的顺序输出各层元素
解题思路:每次将该层元素压入一个queue,然后依次处理这个queue里的每个元素,并把它们的左右节点都压入另一个queue,一直这样处理,直到queue为空。
/** * 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>> levelOrder(TreeNode* root) { vector<vector<int>> ret; if(root==NULL) return ret; queue<TreeNode*> que;//用来存放每层的节点 que.push(root);//先压入根节点 while(!que.empty()) { vector<int> temp; queue<TreeNode*> tmpQue;//存放下一层queue while(!que.empty()) { TreeNode* tempNode = que.front();//依次取出queue里的元素进行处理 que.pop(); temp.push_back(tempNode->val);//将值压入vector if(tempNode->left!=NULL) tmpQue.push(tempNode->left);//处理左节点 if(tempNode->right!=NULL) tmpQue.push(tempNode->right);//处理右节点 } ret.push_back(temp);//将每层的结果压入返回vector中 que=tmpQue;. } return ret; }};
0 0
- 【一天一道LeetCode】#102. Binary Tree Level Order Traversal
- 【一天一道LeetCode】#103. Binary Tree Zigzag Level Order Traversal
- 【一天一道LeetCode】#107. Binary Tree Level Order Traversal II
- LeetCode 102. Binary Tree Level Order Traversal
- [LeetCode]102.Binary Tree Level Order Traversal
- [Leetcode] 102. Binary Tree Level Order Traversal
- LeetCode --- 102. Binary Tree Level Order Traversal
- [leetcode] 102.Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- Leetcode 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal LeetCode
- [leetcode] 102. Binary Tree Level Order Traversal
- Leetcode 102. Binary Tree Level Order Traversal
- LeetCode *** 102. Binary Tree Level Order Traversal
- LeetCode 102. Binary Tree Level Order Traversal
- LeetCode 102. Binary Tree Level Order Traversal
- leetcode-102. Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- CSS Float(浮动)
- matlab-线性代数 乘(矩阵元素)
- 运算符优先级有关的问题
- MYSQL与C
- 局域网视频通讯-Android APP
- 【一天一道LeetCode】#102. Binary Tree Level Order Traversal
- matlab-线性代数 乘(含参矩阵间的乘)
- 实用的java注解工具类
- Map的遍历
- matlab-线性代数 加,减,乘(变量与数字矩阵)
- C#设计模式—访问者模式
- 计算机组成与结构有关主存是否命中Cache的判定
- iOS开发——frame和bounds详解
- Github项目解析(八)-->Activity启动过程中获取组件宽高的五种方式