Skip to content

Commit 8c060a0

Browse files
add: soma-tree, remove-nth-node
1 parent b50811c commit 8c060a0

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
public class ListNode {
2+
int val;
3+
ListNode next;
4+
5+
ListNode() {
6+
}
7+
8+
ListNode(int val) {
9+
this.val = val;
10+
}
11+
12+
ListNode(int val, ListNode next) {
13+
this.val = val;
14+
this.next = next;
15+
}
16+
}
17+
18+
class Solution {
19+
public ListNode removeNthFromEnd(ListNode head, int n) {
20+
int length = 0;
21+
ListNode cur = head;
22+
23+
while (cur != null) {
24+
cur = cur.next;
25+
length++;
26+
}
27+
28+
int start = 1;
29+
int targetIdx = length - n + 1;
30+
ListNode result = new ListNode(-1);
31+
ListNode c = result;
32+
33+
while (head != null) {
34+
if (targetIdx == start) {
35+
head = head.next;
36+
start++;
37+
continue;
38+
}
39+
40+
c.next = new ListNode(head.val);
41+
c = c.next;
42+
start++;
43+
head = head.next;
44+
}
45+
46+
return result.next;
47+
}
48+
}

same-tree/YoungSeok-Choi.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class TreeNode {
2+
int val;
3+
TreeNode left;
4+
TreeNode right;
5+
6+
TreeNode() {
7+
}
8+
9+
TreeNode(int val) {
10+
this.val = val;
11+
}
12+
13+
TreeNode(int val, TreeNode left, TreeNode right) {
14+
this.val = val;
15+
this.left = left;
16+
this.right = right;
17+
}
18+
}
19+
20+
class Solution {
21+
public boolean isSameTree(TreeNode p, TreeNode q) {
22+
23+
if (p == null && q == null) {
24+
return true;
25+
}
26+
27+
if (p == null || q == null || q.val != p.val) {
28+
return false;
29+
}
30+
31+
// 특정 깊이의 Node 가 같다면 null을 만날때 까지 탐색하고, 같지 않다면 바로 false를 반환.
32+
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
33+
}
34+
}

0 commit comments

Comments
 (0)