일단 오늘은 오랜만에 풀이를 보지 않고 풀었다
그래도 황태영 매니저님께서 난이도를 낮춰주신 덕분인가 풀어볼만 했던 것 같다.
1.문제
해당 이진 탐색 트리에서
타겟 값의 트리를 가져오는 것 이다.
2.풀이
class Solution: def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]: deq = deque([root]) while deq: node = deq.popleft() if not node: break if val < node.val: deq.append(node.left) elif val > node.val: deq.append(node.right) else: return node
일단 어제 나왔던 문제와 비슷한 경로로 접근했다.
큐 자료형을 사용해서
트리를 받아오고 끝까지 찾지 못했을 경우 None 를반환 해주고
타겟 값이 현재 해당하는 노드보다 클 경우 오른쪽
적을경우 왼쪽으로 가게 하면서 탐색을 하고 타겟값과
현재의 노드가 값이 같을경우 해당 트리를 반환해주는 방식으로
문제를 풀어봤다.
처음에는 조건문 때문에 여러 에러가 있었지만
하나하나 테스트케이스를 해결해가다보니 답이 나왔다