用stack实现二叉树的中序遍历
来源:互联网 发布:地图示意图制作软件 编辑:程序博客网 时间:2024/06/06 14:22
二叉树的中序遍历
样例
给出二叉树 {1,#,2,3}
,
1 \ 2 / 3
返回 [1,3,2]
.
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ import java.util.ArrayList;import java.util.Stack; public class Solution { /** * @param root: The root of binary tree. * @return: Inorder in ArrayList which contains node values. */ public ArrayList<Integer> inorderTraversal(TreeNode root) { // write your code here ArrayList<Integer> result=new ArrayList<Integer>(); Stack<TreeNode> stack=new Stack<TreeNode>(); TreeNode curt=root; while(curt!=null||!stack.empty()){ while(curt!=null){ stack.add(curt); curt=curt.left; } curt=stack.peek(); result.add(curt.val); stack.pop(); curt=curt.right; } return result; }}
阅读全文
1 0
- 用stack实现二叉树的中序遍历
- 二叉树的中序遍历实现
- 二叉树非递归中序遍历(借用stack)
- 用C++实现的完全二叉树,实现前序遍历,中序遍历,后序遍历。
- 二叉树的遍历--用递归 和栈 实现 前序、中序、后序遍历
- 数组实现根据二叉树的先序遍历和中序遍历构造二叉树
- 数据库中实现二叉树的遍历
- C#中实现二叉树的遍历
- leetcode | 二叉树的前序遍历、中序遍历、后续遍历的非递归实现
- C实现二叉树的先序遍历,中序遍历,后序遍历
- c语言实现二叉树的先序遍历,中序遍历,后序遍历
- 二叉树T 的先序遍历、中序遍历、后序遍历(递归实现)
- java实现二叉树的先序遍历,中序遍历,后序遍历
- 非递归实现二叉树的后序遍历、前序遍历、中序遍历
- 实现二叉树的先序遍历、中序遍历、后序遍历
- 编程实现二叉树的建立,前序遍历,中序遍历和后续遍历
- .Net 中泛型二叉树的实现和中序遍历
- 二叉树前后中序遍历的非递归实现
- 排序
- 8.xml和tomcat
- CSS中给圆角添加阴影
- socket编程
- STREETTA
- 用stack实现二叉树的中序遍历
- poj3616
- C++常用库
- Shiro简介
- 集成学习分类和区别
- Java对字符串进行加密解密的工具类
- N皇后(打表)
- 21分钟 MySQL 入门教程
- LeetCode 394. Decode String