leetcode 107 Binary Tree Level Order Traversal II

明明标着是easy的题,自己真的太菜了,vector不太明白,看着返回vector<vector<>>函数就不知道怎么办了…所以在这里有些一下关于vector的小知识

Binary Tree Level Order Traversal

  1. 层次遍历
  2. 倒序(用vector做的话,可以直接用vector的reverse函数)
    我知道思路很简单fine…

代码

在这里插入图片描述
some tips:
用递归代码会非常简洁,但问题是什么是:
1.temp.push_back({})?
2.temp.size()?
3.在oj上我一直很好奇的是它怎么把temp这种值输出的,又是怎么把(比如说这道题的层次遍历序列)读入的?所以我在clion上尝试写一个完整的project;

首先什么是push_back({}):我们来看代码:
在这里插入图片描述
在这里插入图片描述
可以发现其实也就是为vector预留出一层的空间,才能在此空间上push入值。
所以,size()其实也是指b有多少层
输出的话则类似于二维数组进行输出就ok啦

补充:如何用队列实现层次遍历:
main.h:
#include"Tree.h"
string b=“abc##ef”;
Tree tree;
tree.BuildTree_BFS(b);

Tree.cpp:在这里插入图片描述

但现在我还是有个困惑,这个题上的3 5 null 7这种既有int,又有string的序列,应该怎么读入呢?(并且用空格分隔开的input?)我再思考思索一下(太菜了5555)

~~~~~~~~~~~~
好的,我知道了,可以写一个split函数,将读入的string按照pattern进行分割开来,然后用库函数,atio将string转换为int类型,如果读到null则转化为0。

上代码吧~
在这里插入图片描述
在这里插入图片描述
在main里面调用split函数即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值