原题
Given a binary tree, return the inorder traversal of its nodes' values.
Example:
Input: [1,null,2,3] 1 \ 2 / 3 Output: [1,3,2]
难度:中等
题意解析:其实就是二叉树的中序遍历
解法:递归
步骤
1) 递归左子树
2) 将当前节点的值插入列表
3) 递归右子树
public List<Integer> inorderTraversal(TreeNode root) {
if(root == null) return new ArrayList<>();
List<Integer> result = new ArrayList<>();
recursion(root.left, result);
result.add(root.val);
recursion(root.right, result);
return result;
}
public void recursion(TreeNode node, List<Integer> result)
{
if(node == null) return;
if(node.left != null)
{
recursion(node.left, result);
}
result.add(node.val);
if(node.right != null)
{
recursion(node.right, result);
}
}