博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode 二叉树的层次遍历 II
阅读量:7071 次
发布时间:2019-06-28

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

中等 二叉树的层次遍历 II 查看执行结果 

42%
通过

给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)

您在真实的面试中是否遇到过这个题? 
Yes
例子

给出一棵二叉树 {3,9,20,#,#,15,7},

3   / \  9  20    /  \   15   7

依照从下往上的层次遍历为:

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

]

asd
/** * Definition of TreeNode: * class TreeNode { * public: *     int val; *     TreeNode *left, *right; *     TreeNode(int val) { *         this->val = val; *         this->left = this->right = NULL; *     } * } */  class Solution {    /**     * @param root : The root of binary tree.     * @return : buttom-up level order a list of lists of integer     */public:    vector
> levelOrderBottom(TreeNode *root) { vector
> res; if(root == nullptr) { return res; } vector
temp; queue
q; stack
> s; q.push(root); int i = 1;// points every level int j = 0;// lost point every level while(!q.empty()) { TreeNode *p = q.front(); q.pop(); if (p==nullptr) { ++j; } else { temp.push_back(p->val); q.push(p->left); q.push(p->right); } if (i == (temp.size() + j) && temp.size()!=0) { s.push(temp); temp.clear(); i*=2; j*=2; } } while(!s.empty()) { res.push_back(s.top()); s.pop(); } return res; }};

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

你可能感兴趣的文章
linux Shell编程
查看>>
ZeroMQ(java)之I/O线程的实现与组件间的通信
查看>>
javascript获取当前的时间戳
查看>>
【架构】微服务系列文章
查看>>
Eclipse:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
查看>>
PAT1005
查看>>
深入理解java的抽象类和接口(转载)
查看>>
HTML元素坐标定位,这些知识点得掌握
查看>>
【服务器环境搭建-Centos】jdk的安装
查看>>
mysql主从复制的配置总结
查看>>
three.js正交投影照相机
查看>>
构建自己的PHP框架--构建模版引擎(1)
查看>>
Linux之一次性安装开发工具:yum groupinstall Development tools
查看>>
dos.orm的事务处理
查看>>
Odoo 二次开发教程(五)-新API的介绍与应用
查看>>
VC++ 一个简单的Log类
查看>>
Java内存模型深度解析:重排序 --转
查看>>
CentOS防火墙iptables的配置方法详解
查看>>
webpack搭建前端一条龙服务
查看>>
1.ASP.NET MVC使用EPPlus,导出数据到Excel中
查看>>