1. 程式人生 > >【LeetCode】#144二叉樹的前序遍歷(Binary Tree Preorder Traversal)

【LeetCode】#144二叉樹的前序遍歷(Binary Tree Preorder Traversal)

【LeetCode】#144二叉樹的前序遍歷(Binary Tree Preorder Traversal)

題目描述

給定一個二叉樹,返回它的 前序 遍歷。

示例

輸入: [1,null,2,3]

1
 \
  2
 /
3 

輸出: [1,2,3]

Description

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

Example

Input: [1,null,2,3]

1
 \
  2
 /
3

Output: [1,2,3]

解法

class Solution {
    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> res = new ArrayList<>();
        if(root==null){
            return res;
        }
        helper(root, res);
        return res;
    }
    public void helper(TreeNode node, List<Integer> res){
        if(node==null)
            return;
        res.add(node.val);
        if(node.left!=null)
            helper(node.left, res);
        if(node.right!=null)
            helper(node.right, res);
        return;
    }
}