码迷,mamicode.com
首页 > 其他好文 > 详细

Binary Tree Preorder Traversal

时间:2014-09-01 22:49:43      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:二叉树前序遍历非递归实现

地址:https://oj.leetcode.com/problems/binary-tree-preorder-traversal/

题意实现二叉树的前序遍历。利用栈实现。

public class Solution {
       public List<Integer> preorderTraversal(TreeNode root) {
    	List<Integer > ans = new ArrayList<>();
    	TreeNode p = root;
    	Stack<TreeNode> st = new Stack<TreeNode>();
    	while(p!=null || st.size()!=0){
    		while(p!=null){
    			ans.add(p.val);
    			st.push(p);
    			p= p.left;
    		}
    		if(st.size()!=0){
    			p = st.peek();
    			st.pop();
    			p = p.right;
    		}
    	}
    	return ans;
    }
}


 

Binary Tree Preorder Traversal

标签:二叉树前序遍历非递归实现

原文地址:http://blog.csdn.net/huruzun/article/details/38986461

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!