2022년 04월 20일 수요일 - 시간이 안가요 시간이~~
오늘 올려볼 문제는 173번 Binary Search Tree Iterator 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
회사에서는 그냥 집에서는 Follow Up까지 풀어따
입력
오늘은 입력을 제대로 설명하기 힘들다. 문제를 참고해주길 바란다.
풀이 및 코드
BSTIterator 클래스를 구현하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
Stack을 만들어서 left 노드만 저장하게 한다.
오른쪽 노드는 Stack에서 노드를 꺼낸다음에 얻어온다.
이제 코드를 봐보자!
풀이코드
class BSTIterator {
Stack<TreeNode> s = new Stack<>();
public BSTIterator(TreeNode root) {
dfs(root);
}
public void dfs(TreeNode root)
{
if(root == null) return;
s.push(root);
dfs(root.left);
}
public int next() {
TreeNode now = s.pop();
dfs(now.right);
return now.val;
}
public boolean hasNext() {
return !s.isEmpty();
}
}
제출 화면
오늘 문제는 쉬운편이라서 금방 풀었다.
내일 문제는 꽤나 재밌었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 706번 문제를 풀어보았다. (ft. java) (0) | 2022.04.22 |
---|---|
[LeetCode] 705번 문제를 풀어보았다. (ft. java) (0) | 2022.04.21 |
[LeetCode] 230번 문제를 풀어보았다. (ft. java) (1) | 2022.04.18 |
[LeetCode] 897번 문제를 풀어보았다. (ft. java) (0) | 2022.04.17 |
[LeetCode] 538번 문제를 풀어보았다. (ft. java) (0) | 2022.04.16 |