java二叉树非递归之前序遍历
来源:互联网 发布:相册制作软件下载 编辑:程序博客网 时间:2024/06/06 18:49
思路:采用栈来实现非递归遍历
步骤:
1.对root进行异常处理
2.将root压入栈
3.循环终止条件为栈s为空,所有元素均已处理完
4.访问当前栈顶元素(首先取出栈顶元素,随后pop掉栈顶元素)并存入最终结果
5.将右、左节点分别压入栈内,以便取元素时为先左后右。
6.返回最终结果
步骤:
1.对root进行异常处理
2.将root压入栈
3.循环终止条件为栈s为空,所有元素均已处理完
4.访问当前栈顶元素(首先取出栈顶元素,随后pop掉栈顶元素)并存入最终结果
5.将右、左节点分别压入栈内,以便取元素时为先左后右。
6.返回最终结果
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<Integer>(); if (root == null) return result; Stack<TreeNode> s = new Stack<TreeNode>(); s.push(root); while (!s.empty()) { TreeNode node = s.pop(); result.add(node.val); if (node.right != null) s.push(node.right); if (node.left != null) s.push(node.left); } return result; } }
转载自:http://blog.csdn.net/u013812939/article/details/47294719
0 0
- java二叉树非递归之前序遍历
- java二叉树非递归之前序遍历
- 诡异的二叉树非递归遍历之前序
- JAVA递归、非递归遍历二叉树
- java递归,非递归遍历二叉树
- JAVA递归、非递归遍历二叉树
- java建立二叉树,递归/非递归先序遍历,递归/非递归中序遍历,层次遍历
- 非递归遍历二叉树--java实现
- java二叉树的非递归遍历
- 二叉树非递归遍历Java实现
- java 二叉树的递归遍历和非递归遍历
- java二叉树非递归之中序遍历
- java二叉树非递归之中序遍历
- 非递归先序遍历二叉树
- 后序遍历二叉树非递归
- 非递归后序遍历二叉树
- 【二叉树遍历】中序------非递归
- 非递归中序遍历二叉树
- 《大话设计模式》-- 第24个 职责链模式
- Java之同步代码块实现取钱实例
- 对于sqldependency类的使用(通过它来监听数据库的变化)
- Bootstrap 元素居中
- 数据结构之二叉搜索树和二叉平衡树学习笔记
- java二叉树非递归之前序遍历
- 看完9个笑话 顿悟9个人生道理
- 2016.10.27 函数特性
- 复选框(checkbox)全选/全不选/反选代码
- 2009 Multi-University Training Contest 1 - Host by TJU
- 10056---Java中Synchronized的用法
- IT研发老兵跳槽记之(六):上将伐谋
- ORB-Slam
- 函数作用域