2022년 09월 07일 수요일 - 내일만... 버티면... 쉰다...!
오늘 올려볼 문제는 606번 Construct String from Binary Tree 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
근데 오늘 왜 easy문제인지 잘 모르겠음;;
입력
사진에서도 볼 수 있듯이 Binary Tree의 Rood Node가 입력으로 들어온다.
풀이 및 코드
Binaray Tree를 괄호를 사용한 방식의 Stringd으로 바꾸라는 문제인데.. 제대로 설명하기 힘드니 문제를 참고하길..
오늘은 처음부터 정답을 생각해냈다.
dfs를 돌면서 String Builder에 괄호와 value를 넣는 방식으로 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
StringBuilder sb = new StringBuilder();
public String tree2str(TreeNode root) {
solve(root);
return sb.toString();
}
public void solve(TreeNode root) {
if(root.left == null && root.right == null) {
sb.append(root.val);
return;
}
sb.append(root.val + "(");
if(root.left != null) solve(root.left);
sb.append(")");
if(root.right != null) {
sb.append("(");
solve(root.right);
sb.append(")");
}
}
}
제출 화면
왼쪽 노드는 비어있어도 빈괄호를 넣어주고 오른쪽 노드는 비어있으면 생략하는 것 때문에 조금 해맸다.
이제 트리문제 말고 다른 문제 나왔으면..
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 557번 문제를 풀어보았다. (ft. java) (0) | 2022.09.22 |
---|---|
[LeetCode] 94번 문제를 풀어보았다. (ft. java) (0) | 2022.09.08 |
[LeetCode] 814번 문제를 풀어보았다. (ft. java) (0) | 2022.09.06 |
[LeetCode] 429번 문제를 풀어보았다. (ft. java) (2) | 2022.09.05 |
[LeetCode] 1448번 문제를 풀어보았다. (ft. java) (0) | 2022.09.01 |