94. Binary Tree Inorder Traversal

Easy

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

Example 1:

Input: root = [1,null,2,3]
Output:
 [1,3,2]

Example 2:

Input: root = []
Output:
 []

Example 3:

Input: root = [1]
Output:
 [1]

Constraints:

  • The number of nodes in the tree is in the range [0, 100].

  • -100 <= Node.val <= 100

Follow up: Recursive solution is trivial, could you do it iteratively?

解題

Runtime: 0 ms, faster than 100%

Memory Usage: 1.9 MB, less than 89.14%

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func inorderTraversal(root *TreeNode) []int {
    res := make([]int, 0)

    var helper func(*TreeNode)
    helper = func(root *TreeNode) {
        if root == nil { return }

        helper(root.Left)
        res = append(res, root.Val)
        helper(root.Right)
    }

    helper(root)

    return res
}

Last updated