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

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

107. Binary Tree Level Order Traversal II

Total Accepted: 85871 Total Submissions: 247487 Difficulty: Easy

 

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,null,null,15,7],

3   / \  9  20    /  \   15   7

return its bottom-up level order traversal as:

[  [15,7],  [9,20],  [3]]

 

思路:实质是求自底向上的层序情况。可以见该题的姐妹题题解:

 

代码:

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     vector
> levelOrderBottom(TreeNode* root) {13 vector
> v;14 if(root==NULL) return v;15 queue
q;16 q.push(root);17 TreeNode *begin,*end=root,*cur=root;18 while(!q.empty()){19 vector
temp;20 begin=q.front();21 q.pop();22 while(begin!=end){23 temp.push_back(begin->val);24 if(begin->left){25 q.push(begin->left);26 cur=begin->left;27 }28 if(begin->right){29 q.push(begin->right);30 cur=begin->right;31 }32 begin=q.front();33 q.pop();34 }35 temp.push_back(begin->val);36 if(begin->left){37 q.push(begin->left);38 cur=begin->left;39 }40 if(begin->right){41 q.push(begin->right);42 cur=begin->right;43 }44 v.insert(v.begin(),temp); //相较于102题,就是这里变动了45 end=cur;46 }47 return v;48 }49 };

 

转载于:https://www.cnblogs.com/Deribs4/p/5626478.html

你可能感兴趣的文章
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
MySQL Proxy
查看>>
关于Vue的组件的通用性问题
查看>>
随机颜色值
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
目录相关的操作
查看>>
解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
查看>>
C++----练习--引用头文件
查看>>
11.基本包装类型
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
用HttpCombiner来减少js和css的请问次数
查看>>
FUSE-用户空间文件系统
查看>>
将tiff文件转化为jpg文件并保存
查看>>
ubuntu 16.04 开机脚本
查看>>
 VS2012 C#调用C++ dll
查看>>
TCL:表格(xls)中写入数据
查看>>
SQL SERVER 2005中如何获取日期(一个月的最后一日、一年的第一日等等)
查看>>