树的中序遍历新思路
Posted Fire king
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树的中序遍历新思路相关的知识,希望对你有一定的参考价值。
class Solution
class ColorNode
TreeNode node;
String color;
public ColorNode(TreeNode node,String color)
this.node = node;
this.color = color;
public List<Integer> inorderTraversal(TreeNode root)
if(root == null) return new ArrayList<Integer>();
List<Integer> res = new ArrayList<>();
Stack<ColorNode> stack = new Stack<>();
stack.push(new ColorNode(root,"white"));
while(!stack.empty())
ColorNode cn = stack.pop();
if(cn.color.equals("white"))
if(cn.node.right != null) stack.push(new ColorNode(cn.node.right,"white"));
stack.push(new ColorNode(cn.node,"gray"));
if(cn.node.left != null)stack.push(new ColorNode(cn.node.left,"white"));
else
res.add(cn.node.val);
return res;
以上是关于树的中序遍历新思路的主要内容,如果未能解决你的问题,请参考以下文章