java实现二叉遍历-前序2
白话描述:迭代
白话实现:迭代
public List qianxubianli2(TreeNode root){
LinkedList<Integer> l=new LinkedList();
LinkedList<TreeNode> stack=new LinkedList();
if(root==null) return l;
stack.add(root);
while(!stack.isEmpty()){
TreeNode tmp=stack.pollLast();
l.add(tmp.data);
if(tmp.right!=null) stack.add(tmp.right);
if(tmp.left!=null) stack.add(tmp.left);
}
return l;
}