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

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

总结:

1. 注意 cnt-- 的位置以及 level push 的位置

2. II 在 1 的基础上加个 stack 或者直接 reverse 都可以

 

代码:

class Solution {public:    vector
> levelOrder(TreeNode *root) { vector
> res; if(root == NULL) return res; queue
record; vector
level; int cnt = 1, nextcnt = 0; record.push(root); while(!record.empty()) { TreeNode * tn = record.front(); record.pop(); level.push_back(tn->val); if(tn->left) { record.push(tn->left); nextcnt += 1; } if(tn->right) { record.push(tn->right); nextcnt += 1; } cnt --; if(cnt == 0) { cnt = nextcnt; nextcnt = 0; // push_back res.push_back(level); level.clear(); } } return res; }};

  

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

你可能感兴趣的文章
python 之队列和生产者消费者模型、基于selectors模块实现的IO多路复用
查看>>
《将博客搬至CSDN》
查看>>
对T4模板研究-针对SQL SERVER的EF代码生成
查看>>
php的基础知识(一)
查看>>
Dart: puppeteer库
查看>>
javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)
查看>>
AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】
查看>>
【转载】wpf数据绑定binding与INotifyPropertyChanged
查看>>
oracle连接两个数据库
查看>>
Sybase常用函数
查看>>
RMAN-format变量及configuration配置项
查看>>
Properties中的主要方法
查看>>
LeetCode44.通配符匹配
查看>>
Win7 IIS 局域网中无法访问网页
查看>>
idea中maven web项目设置的相关问题
查看>>
【java】静态方法声明与调用习题
查看>>
C#中数组、ArrayList和List三者的区别
查看>>
项目总结(2010-8-8)
查看>>
MYSQL-innodb性能优化几个点
查看>>
nstimer,需要注册到 runloop里面去的,
查看>>