Leetcode 107. Binary Tree Level Order Traversal II (Easy) (cpp)
2016-07-24 17:00
435 查看
Leetcode 107. Binary Tree Level Order Traversal II (Easy) (cpp)
Tag: Tree, Breadth-first Search
Difficulty: Easy
Tag: Tree, Breadth-first Search
Difficulty: Easy
/* 107. Binary Tree Level Order Traversal II (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] ] */ /** * 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<vector<int>> levelOrderBottom(TreeNode* root) { vector<vector<int>> res; if (!root) return res; queue<TreeNode*> q; q.push(root); while (!q.empty()) { vector<int> lev; int _size = q.size(); for (int i = 0; i < _size; i++) { TreeNode *temp = q.front(); q.pop(); lev.push_back(temp -> val); if (temp -> left) q.push(temp -> left); if (temp -> right) q.push(temp -> right); } res.push_back(lev); } reverse(res.begin(), res.end()); return res; } };
相关文章推荐
- 【C++ 与 STL】不定长数组:vector
- 【读书笔记】摘自Google开源项目风格指南-C++风格指南
- 实现自己的C++ STL--vector容器
- C语言中二级指针的作用
- C++设计模式——建造者模式
- C语言真正的编译过程
- 大话设计模式16----状态模式
- Xcode 修改 c++ 模板文件
- 正则表达式规则及C语言测试代码
- c指针解析
- C++中的RAII机制
- C语言数组
- C++中的<limits.h>和<climits>(C++基本数据类型的最值)
- C++矩阵类(乘法与快速幂)
- c++之MFC(1)基础知识
- 1100. Mars Numbers (20)
- C++11标准库新加功能详解
- [C++11]并发程序模板(std::thread)
- [C++]高效使用c++11--理解auto类型推导
- C++ TUTORIAL - MEMORY ALLOCATION - 2016