From 2a9a1c91c38dd1d33df29724132cbea0219e89b0 Mon Sep 17 00:00:00 2001 From: kim Date: Sat, 17 Jan 2026 23:50:10 +0900 Subject: [PATCH 1/4] invert binary tree --- invert-binary-tree/se6816.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 invert-binary-tree/se6816.java diff --git a/invert-binary-tree/se6816.java b/invert-binary-tree/se6816.java new file mode 100644 index 0000000000..9d2b7c493a --- /dev/null +++ b/invert-binary-tree/se6816.java @@ -0,0 +1,21 @@ +class Solution { + public TreeNode invertTree(TreeNode root) { + if(root == null) return root; + Queue que = new ArrayDeque<>(); + que.add(root); + + while(!que.isEmpty()) { + TreeNode node = que.poll(); + TreeNode tempNode = node.left; + node.left = node.right; + node.right = tempNode; + if(node.left != null) { + que.add(node.left); + } + if(node.right != null) { + que.add(node.right); + } + } + return root; + } +} From f1e45b7e4b6385163cc02f7c0c093e2cd8bf6e0a Mon Sep 17 00:00:00 2001 From: kim Date: Sat, 17 Jan 2026 23:51:09 +0900 Subject: [PATCH 2/4] search in rotated sorted array --- search-in-rotated-sorted-array/se6816.java | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 search-in-rotated-sorted-array/se6816.java diff --git a/search-in-rotated-sorted-array/se6816.java b/search-in-rotated-sorted-array/se6816.java new file mode 100644 index 0000000000..771e50db15 --- /dev/null +++ b/search-in-rotated-sorted-array/se6816.java @@ -0,0 +1,46 @@ +class Solution { + public int search(int[] nums, int target) { + int firstIdx = binarySearch(nums); + int result = 0; + if (firstIdx == 0) { + return binarySearch(target, nums, 0, nums.length - 1); + } else if (target >= nums[0]) { + return binarySearch(target, nums, 0, firstIdx); + } else { + return binarySearch(target, nums, firstIdx, nums.length - 1); + } + } + + public int binarySearch(int[] nums) { + int start = 0; + int end = nums.length -1; + while(start < end) { + int mid = (start + end) / 2; + if(nums[mid] < nums[end]) { + end = mid; + } else { + start = mid + 1; + } + } + return start; + } + + public int binarySearch(int target, int[] nums, int start, int end) { + int result = -1; + while(start <= end) { + int mid = (start + end) / 2; + if(nums[mid] > target) { + end = mid - 1; + } else if(nums[mid] < target){ + start = mid + 1; + } else { + result = mid; + break; + } + } + + return result; + } + + +} From 388e17d919211887ada94ca6b011b4fa42a02773 Mon Sep 17 00:00:00 2001 From: kim Date: Sat, 17 Jan 2026 23:52:04 +0900 Subject: [PATCH 3/4] jump game --- jump-game/se6816.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 jump-game/se6816.java diff --git a/jump-game/se6816.java b/jump-game/se6816.java new file mode 100644 index 0000000000..6eed680d64 --- /dev/null +++ b/jump-game/se6816.java @@ -0,0 +1,27 @@ +class Solution { + public boolean canJump(int[] nums) { + boolean[] visited= new boolean[nums.length]; + dfs(visited, nums, 0); + return visited[nums.length - 1]; + } + public void dfs(boolean[] visited, int[] nums, int target) { + if(visited[nums.length -1]) { + return; + } + if(visited[target]) { + return; + } + + visited[target] = true; + + int maxDist = nums[target]; + for(int i = maxDist; i > 0; i--) { + int nextIdx = target + i; + if(nextIdx > nums.length - 1) { + continue; + } + + dfs(visited, nums, nextIdx); + } + } +} From a40929784a6858dbbd4d0748eadd5d69a6507f4d Mon Sep 17 00:00:00 2001 From: kim Date: Sat, 17 Jan 2026 23:53:23 +0900 Subject: [PATCH 4/4] merge k sorted lists --- merge-k-sorted-lists/se6816.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 merge-k-sorted-lists/se6816.java diff --git a/merge-k-sorted-lists/se6816.java b/merge-k-sorted-lists/se6816.java new file mode 100644 index 0000000000..c844d041eb --- /dev/null +++ b/merge-k-sorted-lists/se6816.java @@ -0,0 +1,28 @@ + +class Solution { + public ListNode mergeKLists(ListNode[] lists) { + ListNode list= new ListNode(0); // head + ListNode curr=list; + PriorityQueue pq=new PriorityQueue((l1, l2)->{ + return l1.val - l2.val; + }); + for(int i=0; i