LeetCode题解:Binary Tree Inorder Traversal

来源:互联网 发布:gd32f103c8t6数据手册 编辑:程序博客网 时间:2024/06/05 06:40

Given a binary tree, return the inorder traversal of its nodes’ values.

For example:
Given binary tree {1,#,2,3},
1
\
2
/
3
return [1,3,2].

题意:中序遍历二叉树

解决思路:”左根右“的递归或者通过栈完成的迭代

代码:

public class Solution {    public List<Integer> inorderTraversal(TreeNode root) {        List<Integer> result = new ArrayList<Integer>();        Stack<TreeNode> stack = new Stack<TreeNode>();        TreeNode node = root;        while(node != null || !stack.isEmpty()){            while(node != null){                stack.push(node);                node = node.left;            }            node = stack.pop();            result.add(node.val);            node = node.right;        }        return result;    }}
0 0
原创粉丝点击