博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Moris遍历用法
阅读量:3951 次
发布时间:2019-05-24

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

Difficulty: 中等

给你二叉树的根节点 root ,返回它节点值的 前序遍历。

示例 1:

输入:root = [1,null,2,3]输出:[1,2,3]

示例 2:

输入:root = []输出:[]

示例 3:

输入:root = [1]输出:[1]

示例 4:

输入:root = [1,2]输出:[1,2]

示例 5:

输入:root = [1,null,2]输出:[1,2]

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

**进阶:**递归算法很简单,你可以通过迭代算法完成吗?

Solution

Language: ****

class Solution {
public:typedef TreeNode Node; vector
preorderTraversal(TreeNode* root) {
vector
res; while(root) {
if(root->left==NULL) {
res.push_back(root->val); root = root->right; //左子树空,遍历右边子树 }else{
//左子树不空 Node* f = getLeftMostRight(root); if(f->right == root) {
f->right = NULL; root = root->right; }else {
res.push_back(root->val); f->right = root; root = root->left; } } } return res; } Node* getLeftMostRight(Node* root ) {
// if(root==NULL) return NULL; Node * f = root->left; while(f && f->right && f->right!=root) {
f = f->right; } return f; }};​

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

你可能感兴趣的文章
通过Java的api操作redis
查看>>
jquery基本选择器
查看>>
linux学习之shell字符串大小写转换
查看>>
Linux下用base64对字符串进行加密解密
查看>>
H5走迷宫小游戏
查看>>
mysql建表 表名与关键字冲突
查看>>
mysql 创建单表外键关联多表
查看>>
postman使用
查看>>
ClassNotFoundException和NoClassDefFoundError的区别
查看>>
Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化
查看>>
spring注解@Primary与@Qualifier
查看>>
annotation之@Autowired、@Inject、@Resource三者区别
查看>>
idea启动微服务找不到配置文件
查看>>
Java通过反射机制调用某个类的方法
查看>>
字节跳到面试题
查看>>
Linux查看物理CPU个数
查看>>
Linux学习之网络IO,磁盘io
查看>>
ES7.6.2安装
查看>>
查看jar依赖树
查看>>
idea运行gradle项目
查看>>