동까의 코딩

[99클럽] 17일차 TIL 본문

문제 풀이/99클럽

[99클럽] 17일차 TIL

동까의 코딩 2024. 6. 6. 21:23
반응형

https://leetcode.com/problems/all-possible-full-binary-trees/submissions/1279496386/

 

class Solution:
    def allPossibleFBT(self, n: int) -> List[Optional[TreeNode]]:
        dp = {}
        dp[1] = [TreeNode(0)]
        def dfs(cnt):
            ans = []
            if cnt in dp:
                return dp[cnt]
            for i in range(1, cnt, 2):
                left_trees = dfs(i)
                right_trees = dfs(cnt - i - 1)

                for left in left_trees:
                    for right in right_trees:
                        root = TreeNode(0)
                        root.left = left
                        root.right = right
                        ans.append(root)
            dp[cnt] = ans
            return ans

        return dfs(n)

 

 

리트코드의 문제를 풀어보았습니다.

 

역시나 아직도 어색한 부분이 많지만 그래도 익숙해지려고 노력하고 있습니다

반응형

'문제 풀이 > 99클럽' 카테고리의 다른 글

[99클럽] 19일차 TIL  (0) 2024.06.08
[99클럽] 18일차 TIL  (0) 2024.06.07
[99클럽] 16일차 TIL  (0) 2024.06.05
[99클럽] 15일차 TIL  (0) 2024.06.04
[99클럽] 14일차 TIL  (0) 2024.06.03