본문 바로가기

LeetCode30

[Algorithm][Tree][Java] 문제 풀이 #26 - 102. Binary Tree Level Order Traversal 문제 링크 https://leetcode.com/problems/binary-tree-level-order-traversal/ 내 코드 List resultList = new ArrayList(); public List levelOrder(TreeNode root) { List list = new ArrayList(); list.add(root); if(root != null) recursion(list); return resultList; } private void recursion(List list) { if(list.size() == 0) return; List childList = new ArrayList(); List result = new ArrayList(); for(TreeNode node.. 2022. 8. 22.
[Algorithm][Tree][Java] 문제 풀이 #25 - 124. Binary Tree Maximum Path Sum 문제 링크 https://leetcode.com/problems/binary-tree-maximum-path-sum/ 내 풀이 int max = Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { if(root.left == null && root.right == null) return root.val; recursion(root); return max; } private void recursion(TreeNode node) { if(node == null) return; if(node.left == null && node.right == null) return; int leftVal = node.left != null ? node.left.val : .. 2022. 8. 21.
[Algorithm][Tree][Java] 문제 풀이 #24 - Same Tree 문제 링크 https://leetcode.com/problems/same-tree/ 내 풀이 public boolean isSameTree(TreeNode p, TreeNode q) { return recursion(p, q); } private boolean recursion(TreeNode p, TreeNode q) { if(p == null && q == null) return true; else if(p == null || q == null) return false; else if(p.val != q.val) return false; return recursion(p.left, q.left) && recursion(p.right, q.right); } 결과 같은 트리 값을 가지고 있는지 확인하는 .. 2022. 8. 19.
[Algorithm][Recursion] 문제 풀이 #23 - Rotate Image 문제 링크 https://leetcode.com/problems/rotate-image/ 내 풀이 public void rotate(int[][] matrix) { int childLength = matrix[0].length; int[][] result = new int[matrix.length][childLength]; for(int i = 0; i < matrix.length; i++) { for(int j = 0; j < childLength; j++) { result[i][childLength - j - 1] = matrix[j][i]; } } for(int i = 0; i < matrix.length; i++) { for(int j = 0; j < childLength; j++) { matri.. 2022. 8. 13.