博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Tree Level Order Traversal 二叉树层次遍历(深搜,vector)
阅读量:4109 次
发布时间:2019-05-25

本文共 600 字,大约阅读时间需要 2 分钟。

题目:

解答:

这题虽然是要求层次遍历输出每一层的节点,但是也可以通过深度优先搜索完成。

利用vector<vector<int> > res记录结果, 那么res[i]就代表第i层的节点列表。

遍历二叉树时,记录二叉树的深度,将该节点插入到对应深度的列表中,如果对应深度的列表不存在,则先在res中插入一个列表。

代码:

class Solution { public:	 vector
> levelOrder(TreeNode *root) { vector
> res; DFS(root, res, 0); return res; } void DFS(TreeNode *root, vector
> &res, int deep) { if (root == NULL) return; if (res.size() < deep+1) { vector
temp; res.push_back(temp); } res[deep].push_back(root->val); DFS(root->left, res, deep + 1); DFS(root->right, res, deep + 1); } };

转载地址:http://kftsi.baihongyu.com/

你可能感兴趣的文章
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android-Socket登录实例
查看>>
Android使用webservice客户端实例
查看>>
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>