Binary Tree Preorder Traversal

来源:互联网 发布:作业调度算法 编辑:程序博客网 时间:2024/05/16 14:54

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

题目要求用迭代方法对树进行先根遍历,用一个栈来实现,要先放右子节点,再放左子节点。


public class Solution {    public List<Integer> preorderTraversal(TreeNode root) {        ArrayList<Integer>list = new ArrayList<Integer>();if(root == null)return list;Stack<TreeNode>stack = new Stack<TreeNode>();stack.add(root);while(!stack.empty()){TreeNode node = stack.pop();list.add(node.val);if(node.right!=null){stack.add(node.right);}if(node.left!=null){stack.add(node.left);}}return list;    }}


0 0
原创粉丝点击