알고리즘/알고리즘 문제풀이

BinaryTree_Leetcode_Binary Tree Inorder Traversal [swift]

Downey 2025. 2. 17. 15:09

https://leetcode.com/problems/binary-tree-inorder-traversal/submissions/1545884757/?envType=study-plan-v2&envId=top-100-liked

 

문제

접근 방식을 적을 필요가 없다.

중위순회 구현

 

정답 코드

더보기
더보기
더보기
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     public var val: Int
 *     public var left: TreeNode?
 *     public var right: TreeNode?
 *     public init() { self.val = 0; self.left = nil; self.right = nil; }
 *     public init(_ val: Int) { self.val = val; self.left = nil; self.right = nil; }
 *     public init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
 *         self.val = val
 *         self.left = left
 *         self.right = right
 *     }
 * }
 */
class Solution {
    func inorderTraversal(_ root: TreeNode?) -> [Int] {
        var sol = [Int]()

        func traversal(next node: TreeNode) {
            if let left = node.left {
                traversal(next: left)
            }
            sol.append(node.val)
            if let right = node.right {
                traversal(next: right)
            }
        }
        guard let root else { return [] }

        traversal(next: root)
        return sol
    }

}