【Lintcode】070.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).
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]
]
题解:
迭代法,利用队列,不能用栈。
Solution 1 ()
class Solution {
public:
    vector<vector<int>> levelOrderBottom(TreeNode *root) {
        vector<vector<int>> res;
        if (root == nullptr) {
            return res;
        }
        vector<int> v;
        queue<TreeNode*> q;
        q.push(root);
        q.push(nullptr);
        while (!q.empty()) {
            TreeNode* cur = q.front();
            q.pop();
            if(cur == nullptr) {
                res.insert(res.begin(),v);
                v.clear();
                if(!q.empty()) {
                    q.push(nullptr);
                }
                continue;
            }
            v.push_back(cur->val);
            if(cur->left != nullptr) {
                q.push(cur->left);
            }
            if(cur->right != nullptr) {
                q.push(cur->right);
            }
        }
        return res;
    }
};
Solution 1.1 ()
class Solution {
public:
    vector<vector<int>> levelOrderBottom(TreeNode *root) {
        vector<vector<int>> res;
        if (root == nullptr) {
            return res;
        }
        queue<TreeNode*> q;
        q.push(root);
        while (!q.empty()) {
            int size = q.size();
            vector<int> v;
            for (int i = ; i < size; ++i) {
                TreeNode* cur = q.front();
                q.pop();
                if(cur->left != nullptr) {
                    q.push(cur->left);
                }
                if(cur->right != nullptr) {
                    q.push(cur->right);
                }
                v.push_back(cur->val);
            }
            res.insert(res.begin(),v);
        }
        return res;
    }
};
递归
Solution 2 ()
【Lintcode】070.Binary Tree Level Order Traversal II的更多相关文章
- 【LeetCode】107. Binary Tree Level Order Traversal II (2 solutions)
		
Binary Tree Level Order Traversal II Given a binary tree, return the bottom-up level order traversal ...
 - 【Lintcode】069.Binary Tree Level Order Traversal
		
题目: Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to ri ...
 - 【LeetCode】107 - Binary Tree Level Order Traversal II
		
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
 - 【LeetCode】107. Binary Tree Level Order Traversal II 解题报告 (Python&C++)
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:DFS 方法二:迭代 日期 [LeetCode ...
 - 【easy】107. Binary Tree Level Order Traversal II   按层输出二叉树
		
按层输出二叉树,广度优先. 3 / \ 9 20 / \ 15 7 [ [15,7], [9,20], [3] ] /** * Definition for a binary tree node. * ...
 - 【一天一道LeetCode】#107. Binary Tree Level Order Traversal II
		
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ...
 - 【LeetCode】102. Binary Tree Level Order Traversal (2 solutions)
		
Binary Tree Level Order Traversal Given a binary tree, return the level order traversal of its nodes ...
 - 【LeetCode】102 - Binary Tree Level Order Traversal
		
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
 - 【LeetCode】102. Binary Tree Level Order Traversal 解题报告(Python)
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS BFS 日期 题目描述 Given a bi ...
 
随机推荐
- Java设计模式(九)责任链模式 命令模式
			
(十七)责任链模式 责任链模式的目的是通过给予多个对象处理请求的机会,已解除请求发送者与接受者之间的耦合关系.面对对象的开发力求对象之前保持松散耦合,确保对象各自的责任最小化.这种设计能够使得系统更加 ...
 - python学习(四)字符串学习
			
#!/usr/bin/python # 这一节学习的是python中的字符串操作 # 字符串是在Python中作为序列存在的, 其他的序列有列表和元组 # 1. 序列的操作 S = 'Spam' # ...
 - Dubbo--简单介绍
			
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,能够和Spring框架无缝集成.Dubbo致力于提供高性能和透明化的RPC远程服务调用 ...
 - 移除WordPress文章图片的宽度和高度属性
			
通过WordPress自身的媒体上传功能插入到文章的图片,都会默认添加了高度和宽度属性: <img title="使用 Chrome Workspace 进行网站调试 | 倡萌的自留地 ...
 - Hive总结(四)hive安装记录
			
本篇为安装篇较简单: 前提: 1: 安装了hadoop-1.0.4(1.0.3也能够)正常执行 2:安装了hbase-0.94.3, 正常执行 接下来,安装Hive,基于已经安装好的hadoop.过程 ...
 - 【Android】图片(文件)上传的请求分析结构
			
怎么在android中上传文件,即怎么用Java向服务器上传文件.上传图片,这是个老问题了,在网上能搜到现成的代码,很多朋友用起来也比较熟了,但是为什么这么写,可能很多朋友并不清楚,这篇文章就来分析一 ...
 - 【WPF】ComboBox:根据绑定选取、设置固定集合中的值
			
问题场景 我有一个对象,里面有一个属性叫Limit,int类型.虽然int可取的范围很大,我想要在用户界面上限制Limit可取的值,暂且限制为5.10.15.20. 所以ComboBox绑定不是绑定常 ...
 - 前端要给力之:语句在JavaScript中的值
			
文件夹 文件夹 问题是语句有值吗 那么说你骗我咯 有啥米用呢 研究这个是不是闲得那个啥疼 ES5ES6有什么差异呢 结论是ES6是改了规则但更合理 最后不不过if语句 这两天在写语言精髓那本书的第三版 ...
 - l两张图片轮播
			
在head里面加 <script language="javascript"> function scroll(spanlevel) { if (spanlevel.s ...
 - 一起来学linux:sudo
			
通常在转换用户的时候会用到su 用户的方式.但是su方式需要知道切换的用户密码.而且su root到roo账户后,root账户有全部的权限.为了防止root账户干错事,因此有了sudo的命令.sudo ...