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

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

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

跟从上往下层次遍历一样。最后把结果倒置一下就能够了~~

struct node {	 TreeNode* tn;	 int level; };		class Solution 	{	public:		vector
> levelOrderBottom(TreeNode *root) { vector
> vvi; vector
vi; deque
di; node nd; int level = 0; if (root == NULL) { return vvi; } nd.level = 0; nd.tn = root; di.push_back(nd); node left,right; while (!di.empty()) { nd = di.front(); if (nd.tn->left != NULL) { left.tn = nd.tn->left; left.level = nd.level+1; di.push_back(left); } if (nd.tn->right != NULL) { right.tn = nd.tn->right; right.level = nd.level + 1; di.push_back(right); } // if (vi.empty()) // { // vi.push_back(nd.tn->val); // level++; // di.pop_front(); // } // else // { nd = di.front(); if (nd.level == level) { vi.push_back(nd.tn->val); di.pop_front(); } else { vvi.push_back(vi); vi.clear(); vi.push_back(nd.tn->val); level++; di.pop_front(); } // } } vvi.push_back(vi); return vector
>(vvi.rbegin(),vvi.rend()); } };

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

你可能感兴趣的文章
form表单的target属性
查看>>
mysql的常用引擎
查看>>
Linux基础(day40)
查看>>
第二个Java应用和Tomcat的管理功能
查看>>
10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通过ssh同步
查看>>
使用Layer弹窗时遇到Layer.Close()后dom元素延迟性销毁的问题 @Gyb
查看>>
LVS DR +keepalived配置
查看>>
安装redis.msi 及启动命令
查看>>
k8s集群部署四(部署Flannel网络)
查看>>
C4C和Outlook的集成
查看>>
人脸检测,人脸识别,机器学习库Dlib在VS2015上的详细安装教程,示例运行
查看>>
数组——冒泡排序算法
查看>>
微信H5支付坑一--手续费未结算
查看>>
Spring Cloud Alibaba发布第二个版本,Spring 发来贺电
查看>>
Netty 备录 (一)
查看>>
netfilter 五个表五个链介绍,iptables案例
查看>>
Ubuntu服务器界面认识及创建用户
查看>>
网站如何防止sql注入攻击
查看>>
【TeeChart .NET教程】(四)轴控制
查看>>
关于SBR3U30P1-7你必须知道的
查看>>