博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 144. Binary Tree Preorder Traversal
阅读量:4322 次
发布时间:2019-06-06

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

recursive version

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    List
ret = new ArrayList<>(); public List
preorderTraversal(TreeNode root) { dfs(root); return ret; } public void dfs(TreeNode node) { if (node == null) return; ret.add(node.val); dfs(node.left); dfs(node.right); }}

Non-recursive. It's relatively simple. So no explaination.

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public List
preorderTraversal(TreeNode root) { List
ret = new ArrayList<>(); if (root == null) return ret; Stack
s = new Stack
(); s.add(root); while (!s.isEmpty()) { TreeNode node = s.pop(); ret.add(node.val); if (node.right != null) s.add(node.right); if (node.left != null) s.add(node.left); } return ret; }}

转载于:https://www.cnblogs.com/exhausttolive/p/10682094.html

你可能感兴趣的文章
Java 多态 构造方法
查看>>
ActiveMQ-持久化存储方式
查看>>
个人简介
查看>>
树莓派xrdp无法连接
查看>>
python之路-day25-包
查看>>
*.hbm.xml作用是什么
查看>>
jQuery 简单实现select二级联动
查看>>
非常漂亮的Flash纯脚本生成图
查看>>
引用的意义
查看>>
vue中播放音乐
查看>>
ORA-15260: permission denied on ASM disk group
查看>>
Linux中seq命令的用法
查看>>
HTTP协议的chunked编码
查看>>
画原型是节省人力的最好办法
查看>>
shell(十)排序
查看>>
Operating System-进程间互斥的方案-保证同一时间只有一个进程进入临界区(2)- Peterson解法...
查看>>
1.1 Friday the Thirteenth
查看>>
VS 高亮显示不带后缀的C++头文件
查看>>
python基础之面向对象
查看>>
Abnormal build process termination--解决IDEA启动web项目报错
查看>>