2022년 04월 17일 일요일 - 으어 프로젝트... 빡세구만...
오늘 올려볼 문제는 897번 Increasing Order Search Tree 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
효율따윈 버려
입력
사진에서도 볼 수 있듯이 Binary Search Tree 1개가 입력으로 들어온다.
풀이 및 코드
Binary Search Tree를 Increasing Order Search Tree로 전환하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
효율은 떨어지지만 TreeNode 배열을 만들어서 다시 재정렬해주는 방식으로 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public TreeNode increasingBST(TreeNode root) {
TreeNode[] arr = new TreeNode[1005];
Queue<TreeNode> q = new LinkedList<>();
q.add(root);
while(!q.isEmpty())
{
int size = q.size();
for(int i = 0; i < size; i++)
{
TreeNode temp = q.poll();
arr[temp.val] = temp;
if(temp.left != null) q.add(temp.left);
if(temp.right != null) q.add(temp.right);
}
}
TreeNode start = null, node = null;
for(int i = 0; i < arr.length; i++)
{
if(arr[i] != null)
{
if(start == null) start = arr[i];
if(node == null)
{
node = arr[i];
node.left = null;
node.right = null;
continue;
}
node.right = arr[i];
node = arr[i];
node.right = null;
node.left = null;
}
}
return start;
}
}
제출 화면
사실 더 좋은 방법이 있을 것 같은데 그렇게 풀다가는 오늘 하루가 다 가버릴것 같아서 대충 풀었다.
내일은 쌈박하게 문제를 풀 수 있었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 173번 문제를 풀어보았다. (ft. java) (0) | 2022.04.20 |
---|---|
[LeetCode] 230번 문제를 풀어보았다. (ft. java) (1) | 2022.04.18 |
[LeetCode] 538번 문제를 풀어보았다. (ft. java) (0) | 2022.04.16 |
[LeetCode] 700번 문제를 풀어보았다. (ft. java) (0) | 2022.04.14 |
[LeetCode] 59번 문제를 풀어보았다. (ft. java) (0) | 2022.04.13 |