LeetCode 144. 二叉树的前序遍历(Binary Tree Preorder Traversal)
2024-08-26 13:17:44
144. 二叉树的前序遍历
144. Binary Tree Preorder Traversal
题目描述
给定一个二叉树,返回它的 前序 遍历。
LeetCode144. Binary Tree Preorder Traversal
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,2,3]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
Java 实现
Iterative Solution
import java.util.LinkedList;
import java.util.List;
import java.util.Stack;
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> result = new LinkedList<>();
if (root == null) {
return result;
}
Stack<TreeNode> stack = new Stack<>();
stack.push(root);
while (!stack.isEmpty()) {
TreeNode node = stack.pop();
if (node.right != null) {
stack.push(node.right);
}
if (node.left != null) {
stack.push(node.left);
}
result.add(node.val);
}
return result;
}
}
Recursive Solution
import java.util.LinkedList;
import java.util.List;
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
class Solution {
List<Integer> result = new LinkedList<>();
public List<Integer> preorderTraversal(TreeNode root) {
if (root == null) {
return result;
}
result.add(root.val);
preorderTraversal(root.left);
preorderTraversal(root.right);
return result;
}
}
相似题目
参考资料
- https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
- https://leetcode.com/problems/binary-tree-preorder-traversal/
最新文章
- cocos2d-js 学习笔记 --安装调试(1)
- SQL Server删除distribution数据库
- Win10 UWP 开发学习代码(不断更新)
- HDU 2985 Another lottery(坑题)
- Group DataList
- HDU 4424 Conquer a New Region 最大生成树
- 断言Assert的使用
- 深入剖析Linux I/O操作与标准I/O操作区别与联系
- 【20171026早】alert(1) to win - 第六、七、八题
- php判断浏览器是不是IE
- Java集合-treebag
- java操作office和pdf文件java读取word,excel和pdf文档内容
- 在Editplus直接运行程序的步骤
- TSFDEVTY
- C++中find_if
- 本地Maven库添加SQLServer2012 sqljdbc4.jar
- Linux—echo命令
- C#如何在各类控件中输入\输出数据
- 像素(PX)转其它长度单位(mm、cm...)
- Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程
热门文章
- 地区sql
- Hadoop hadoop 机架感知配置
- 2018-2019-2 《网络对抗技术》Exp9 WebGoat 20165326
- python中whl的讲解
- php 502 无错误行和报错文件的情况下使用gdb调试方法
- gisoracle做windows界面
- CentOS 7.2 基于Docker实现MySQL主从架构
- 截取完整网页图片的方法 Chrome 浏览器
- python 设计模式之适配器模式 Adapter Class/Object Pattern
- 基于Docker + Consul + Nginx + Consul-Template的服务负载均衡实现(转)