리트코드 144. Binary Tree Preorder Traversal

이진 트리의 순회(preorder traversal) 리스트를 반환하시오!

Tree 문제… 🎋

문제

144. Binary Tree Preorder Traversal 문제 링크

이진 트리의 순회(preorder traversal) 해보아라!

image

# Example 1:
입력: root = [1,null,2,3]
출력: [1,2,3]

preorder traversal가 뭔가 싶었더니… 그냥 왼쪽 부터 DFS 탐색하면 되는 문제였습니다.

✅ 최종 Solution

def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
  def dfs(node, path):
      if not node: return
      path.append(node.val)
      dfs(node.left, path)
      dfs(node.right, path)
  
  ans = []
  dfs(root, ans)  
  return ans

dfs를 활용하여 재귀로 간단하게 풀 수 있었습니다.
dfs 내에서 왼쪽, 오른쪽 순서로 하게 되면 재귀로 반복하며 왼쪽 깊이 우선 순서로 리스트로 등록됩니다! 😁


© 2021. All rights reserved.

Powered by Hydejack v9.1.6