Google 태그 관리자 아이콘

알고리즘 풀이

.leetcode(814. Binary Tree Pruning)

silvergoni 2022. 2. 5. 15:05
반응형

https://leetcode.com/problems/binary-tree-pruning/

 

1. 2022.02.05 시도

소요시간: 5분

// dfs
class Solution {
    public TreeNode pruneTree(TreeNode root) {
        root = dfs(root);
        return root;
    }
    
    public TreeNode dfs(TreeNode root) {
        if (root == null) {
            return null;
        }
        
        TreeNode left = dfs(root.left);
        if (left == null) {
            root.left = null;
        }
        TreeNode right = dfs(root.right);
        if (right == null) {
            root.right = null;
        }
        
        if (root.left == null && root.right == null && root.val == 0) {
            return null;
        }
        
        return root;
    }
}

풀이 접근 과정

dfs로 left,right checkt하면서 풀면 되겠다고 생각했다.

 

느낀점

  • dfs는 생각보다 간단하게 풀렸다.
  • iterative하게 풀고 싶었는데 30분이상 걸려도 풀지 못했다. 다음에 다시 풀어보고 싶다.
  • 댓글 삭제하는 알고리즘으로 딱이다.

알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)

반응형