Binary Tree Preorder Traversal

来源:互联网 发布:mash up软件下载 编辑:程序博客网 时间:2024/05/19 16:35
/** * 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> preorderList = new ArrayList<Integer>();        if(null == root) return preorderList;        Stack<TreeNode> stack = new Stack<TreeNode>();        stack.add(root);        while(!stack.empty()) {            TreeNode topStackNode = stack.pop();            preorderList.add(topStackNode.val);            if(topStackNode.right != null) stack.push(topStackNode.right);            if(topStackNode.left != null) stack.push(topStackNode.left);        }        return preorderList;    }}
0 0
原创粉丝点击