소피it블로그

[LeetCode] 94번 Binary Tree Inorder Traversal 문제 풀이 (파이썬) 본문

CS/알고리즘 문제풀이

[LeetCode] 94번 Binary Tree Inorder Traversal 문제 풀이 (파이썬)

sophie_l 2022. 9. 22. 14:32

https://leetcode.com/problems/binary-tree-inorder-traversal/

 

Binary Tree Inorder Traversal - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

아직도 dfs-재귀 코드를, 개념적으로는 알겠는데 직접 구현해내는 것은 어렵다. 자꾸 삐걱거리고 이상한 살을 붙여버린다고 해야 할까. 재귀의 끝부분이 완전히 이해되지는 않는 느낌이다. 많이 풀다 보면 나아지려나.

class Solution:    
    def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:     
        output = []
        
        def dfs(node):
            if node:
                dfs(node.left) # 왼쪽 먼저 탐색해준 후
                output.append(node.val) # 현재 val 탐색 후
                dfs(node.right) # 오른쪽을 또 탐색해줌
                
        dfs(root)
        return output

참고 코드: https://applepick.tistory.com/117

 

94. Binary Tree Inorder Traversal (leetcode Python) +DFS로 풀기

학부에서 공부했던 Binary Tree에서 lnorder 형식으로 탐색하는 문제가 나왔습니다. 문제: Given the root of a binary tree, return the inorder traversal of its nodes' values. Example Input: root = [1,..

applepick.tistory.com