
-Code
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
List<Integer> answer;
public List<Integer> inorderTraversal(TreeNode root) {
answer = new ArrayList<>();
solution(root);
return answer;
}
public void solution(TreeNode node) {
// node가 null인경우 return
if (node == null) return;
// left가 null이 아닌 경우 재귀
if (node.left != null) solution(node.left);
// 중앙값 추가
answer.add(node.val);
// right가 null이 아닌 경우 재귀
if (node.right != null) solution(node.right);
}
}
중위 순환에 이라서 dfs와 관련이 있을거 같아 재귀로 풀어보려 했고 중간까지 접근했으나 TreeNode 객체를 통해 구현하는 것이고 중위 순환 구현도 처음이라 부족한 부분을 찾아서 해결하였습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [LeetCode/Java] Shuffle the Array (0) | 2025.11.24 |
|---|---|
| [LeetCode/Java] Concatenation of Array (0) | 2025.11.24 |
| [백준/Java] 15216번 Another Brick in the Wall (0) | 2025.11.23 |
| [LeetCode/Java] 83. Remove Duplicates from Sorted List (0) | 2025.11.22 |
| [LeetCode/Java] 70. Climbing Stairs (0) | 2025.11.22 |