树——二叉树的前续遍历(非递归)
来源:互联网 发布:联想电脑淘宝旗舰店 编辑:程序博客网 时间:2024/05/20 12:47
题目:binary-tree-preorder-traversal
方法一:
递归,因二叉树的子问题和原问题一样,所以用递归总能方便的解决问题。
代码如下:
import java.util.*;public class Solution { private ArrayList<Integer> array=new ArrayList(); public ArrayList<Integer> preorderTraversal(TreeNode root) { if(root == null) return array; array.add(root.val);array=preorderTraversal(root.left);array=preorderTraversal(root.right);return array; }}
方法二:
非递归方法,用栈实现。
代码如下:
import java.util.*;public class Solution { private ArrayList<Integer> array=new ArrayList(); public ArrayList<Integer> preorderTraversal(TreeNode root) { Stack<TreeNode> stack=new Stack(); TreeNode node = root; while(node!=null||!stack.empty()) { while(node!=null) { array.add(node.val); stack.push(node); node=node.left; } if(node == null&&!stack.empty()) { node=stack.pop().right; } } return array; }}
0 0
- 二叉树的非递归遍历——前序
- 二叉树的前序遍历(递归+非递归)
- 树——二叉树的前续遍历(非递归)
- 二叉树的前序遍历(非递归)
- 【二叉树遍历算法】——前/中/后序递归与非递归的实现
- 树的学习——(递归构建二叉树、递归非递归前序中序后序遍历二叉树、根据前序序列、中序序列构建二叉树)
- 非递归前序遍历二叉树
- 数据结构 — 实现二叉树的前序,中序,后序遍历(非递归)
- [算法]二叉树的非递归前序遍历算法
- 二叉树的非递归前序遍历
- lintcode-二叉树的前序遍历(非递归)-66
- 二叉树的非递归前序遍历
- 二叉树的前序遍历---非递归实现
- 二叉树的非递归前序、后序遍历
- 二叉树的非递归前序遍历
- 二叉树的前,中,后遍历(非递归)
- 二叉树的非递归【前/中/后 序遍历】
- 二叉树的前序遍历非递归形式
- java对cookie的操作
- 关于编码
- Cannot initialize the indexer process in Index Management In Magento
- 设计模式之六大原则——接口隔离原则(ISP)
- Fragment的生命周期
- 树——二叉树的前续遍历(非递归)
- java.lang.RuntimeException: Unable to stop activity {com.borqs.musicdemo/com.borqs.musicdemo.MainAct
- PAT1017. Queueing at Bank
- 分布式数据库DDB introduce
- 一个神奇的网站
- 在Android下使用jni
- 九度OJ - 1009 - 二叉搜索树
- STATIC用法
- 开发android硬件驱动程序-实现内核驱动程序模块