博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】Binary Tree Level Order Traversal I & II
阅读量:4937 次
发布时间:2019-06-11

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

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]]

分层遍历二叉树,用BFS即可

class Solution {public:    vector
> levelOrder(TreeNode* root) { queue
Q; vector
> ans; Q.push(root); while(!Q.empty()) { int e = Q.size(); //当前层的结束位置 vector
partans; for(int i = 0; i < e; i++) { TreeNode * p = Q.front(); Q.pop(); if(NULL != p) { partans.push_back(p->val); Q.push(p->left); Q.push(p->right); } } if(!partans.empty()) ans.push_back(partans); } return ans; }};

网上DFS的代码:

class Solution {protected:    vector
> ans; void dfs(TreeNode *root, int height){ if (root == NULL) return; while (ans.size() <= height) ans.push_back(vector
()); ans[height].push_back(root->val); dfs(root->left, height + 1); dfs(root->right, height + 1); }public: vector
> levelOrder(TreeNode* root) { dfs(root, 0); return ans; }};

 

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]]

 

跟上面只是顺序变了,加个reverse就行了。

 

转载于:https://www.cnblogs.com/dplearning/p/4627247.html

你可能感兴趣的文章
CentOS下一键安装Openstack
查看>>
【leetcode】Binary Tree Level Order Traversal I & II
查看>>
【NOIP2015】斗地主
查看>>
uva 10537 Toll! Revisited(优先队列优化dijstra及变形)
查看>>
MySQL对时间的处理总结
查看>>
笔记四:python乱码深度剖析二
查看>>
《PHP程序员面试笔试宝典》——如何回答技术性的问题?
查看>>
【转载】Amit’s A star Page 中译文
查看>>
GitHub Blog创建以及本地管理
查看>>
注册谷歌账号并验证时显示号码无法用于验证的问题
查看>>
Hive 变量和属性
查看>>
验证邮箱合法性的一些测试样例
查看>>
Python安装第三方库 xlrd 和 xlwt 。处理Excel表格
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
查看>>
细说sqlserver索引及SQL性能优化原则
查看>>
一般数据库增量数据处理和数据仓库增量数据处理的几种策略
查看>>
离散数学课后作业
查看>>
centos6.5适用的国内yum源:网易、搜狐
查看>>
[winograd]winograd算法在卷积中的应用
查看>>