My code

DFS 를 통한 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Definition for a binary tree node.
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right
class Solution:
    def maxDepth(self, root: Optional[TreeNode]) -> int:
        if root == None:
            return 0
        
        l = Solution.maxDepth(self,root.left)
        r = Solution.maxDepth(self,root.right)

        return max(l,r) + 1

            

BFS 를 통한 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Definition for a binary tree node.
from collections import deque

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right
class Solution:
    def maxDepth(self, root: Optional[TreeNode]) -> int:
        max_depth = 0
        if root is None:
            return max_depth
        data = deque()
        data.append((root,1))
        while data:
            cur_node , cur_depth= data.popleft()
            max_depth = max(max_depth,cur_depth)
            if cur_node.left:
                data.append((cur_node.left,cur_depth + 1))
            if cur_node.right:
                data.append((cur_node.right,cur_depth + 1))

        return max_depth

deque test

1
2
3
4
5
6
7
8
9
10
11
12
from collections import deque

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

data_1 = deque((TreeNode(1),1))
data_2 = deque()
data_2.append((TreeNode(2),2))

1
2
data_1

1
deque([<__main__.TreeNode at 0x207725acfd0>, 1])
1
data_2
1
deque([(<__main__.TreeNode at 0x20771f1a710>, 2)])
1
data_1.append((TreeNode(3),3))
1
data_1
1
2
3
deque([<__main__.TreeNode at 0x207725acfd0>,
       1,
       (<__main__.TreeNode at 0x207725e48d0>, 3)])
1
data_1.popleft()
1
<__main__.TreeNode at 0x207725acfd0>
1
data_1.popleft()
1
1
1
data_1.popleft()
1
(<__main__.TreeNode at 0x207725e48d0>, 3)
1