본문 바로가기

반응형

Algorithm/LeetCode

(14)
[LeetCode][Python3] 130. Surrounded Regions class Solution: def solve(self, board: List[List[str]]) -> None: """ Do not return anything, modify board in-place instead. """ if not board: return m = len(board) n = len(board[0]) def isEdge(row,col): if 0
[LeetCode][Python3] 116. Populating Next Right Pointers in Each Node """ # Definition for a Node. class Node: def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None): self.val = val self.left = left self.right = right self.next = next """ class Solution: def connect(self, root: 'Node') -> 'Node': if not root: return root queue = [] queue.append(root) while(len(queue)!=0): leftqueue = [] prenode = queue.pop(0) if prenode.le..
[LeetCode][Python3] 111. Minimum Depth of Binary Tree # 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 minDepth(self, root: TreeNode) -> int: queue = [] if not root: return 0 depth = 1 queue.append(root) while(len(queue)!=0): for _ in range(0,len(queue)): node = queue.pop(0) if not node.left and not node.right: retu..
[LeetCode][Python3] 107. Binary Tree Level Order Traversal II # 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 levelOrderBottom(self, root: TreeNode) -> List[List[int]]: queue = [] answer = [] if not root: return [] queue.append(root) while(len(queue)!=0): floor=[] for _ in range(0,len(queue)): node = queue.pop(0) if node.l..
[LeetCode][Python3] 103. Binary Tree Zigzag Level Order Traversal # 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 zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: queue = [] answer = [] level = [] if not root: return [] queue.append(root) while(len(queue)!=0): level.clear() for _ in range(0,len(queue)): node = queue...
[LeetCode][Python3] 104. Maximum Depth of Binary Tree # 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: TreeNode) -> int: def nowDepth(node,depth): if(node==None): return depth else: if(nowDepth(node.left,depth+1)>=nowDepth(node.right,depth+1)): return nowDepth(node.left,depth+1) else: return now..
[LeetCode][Python3] 100. Same Tree 풀이. # 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 isSameTree(self, p: TreeNode, q: TreeNode) -> bool: def isSame(p,q): if(p==None and q==None): return True elif(p==None or q == None): return False elif(p.val!=q.val): return False elif(p.val == q.val): return i..
[LeetCode][Python3] 102. Binary Tree Level Order Traversal 풀이 queue에 들어있는 node들은 같은 level입니다. 따라서 현재 queue의 node들을 꺼내 list에 넣어주고, node의 left와 right node들은 queue에 새로 넣어줍니다. # 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 levelOrder(self, root: TreeNode) -> List[List[int]]: queue = [] answer = [] level = [] if not root: r..

반응형