Binary Tree Inorder Traversal

来源:互联网 发布:箭牌官方旗舰店 知乎 编辑:程序博客网 时间:2024/06/10 07:53

Iterative with Stack

/** * 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> inorderTraversal(TreeNode root) {        List<Integer> result = new ArrayList<Integer>();        if (root == null) {            return result;        }        Stack<TreeNode> s = new Stack<TreeNode>();        TreeNode cur = root;        while (!s.isEmpty() || cur != null) {            while (cur != null) {                s.push(cur);                cur = cur.left;            }            cur = s.pop();            result.add(cur.val);            cur = cur.right;        }        return result;    }}

Iterative without Stack


0 0
原创粉丝点击