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

本文共 1321 字,大约阅读时间需要 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]]

Solution 1: 普通层次遍历,借助queue

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector
> levelOrderBottom(TreeNode* root) { //runtime: 8ms vector
> vec; if(!root)return vec; vector
v; queue
q1,q2; q1.push(root); while(!q1.empty()){ TreeNode* temp = q1.front(); q1.pop(); v.push_back(temp->val); if (temp->left) q2.push(temp->left); if (temp->right) q2.push(temp->right); if(q1.empty()){ if (!v.empty()) vec.push_back(v); v.clear(); swap(q1, q2); } } reverse(vec.begin(),vec.end());    //or vector
> ret(vec.rbegin(),vec.rend());return ret;      return vec;    } }

Solution 2: 递归, 待续

转载于:https://www.cnblogs.com/irun/p/4734533.html

你可能感兴趣的文章
20180825 上课截图
查看>>
深入解析Vue里函数的调用顺序介绍
查看>>
Ember.js 入门指南——model的关联关系处理
查看>>
Ubuntu Linux下使用搜狗浏览器加速代理
查看>>
Docker应用容器引擎介绍与搭建
查看>>
教你制作属于自己的CentOS 6.4一键自动化安装ISO镜像光盘
查看>>
线上 mysql 主库配置文档
查看>>
Java web部署目录结构和web.xml作用
查看>>
负载均衡DR(direct routing)模式
查看>>
Python中list的遍历
查看>>
ListView提供多选框功能
查看>>
Linux下查看内存等硬件信息
查看>>
mysql 登录权限
查看>>
ADO.NET操作数据库(删除)
查看>>
《Servlet学习笔记》Servlet 简介
查看>>
Java之内部类
查看>>
怎样使用python帮助手册
查看>>
Nginx配置文件nginx.conf中文详解
查看>>
我的友情链接
查看>>
UITabelView的分割线处理及介绍
查看>>