Skip to content

Commit 5931cd7

Browse files
hyunowuser
andauthored
[hyunow] 24.11.19 (#100)
* 1 / Two Sum / Easy / 8m * 104 / Maximum Depth of Binary Tree / Easy / 11m * 141 / Linked List Cycle / Easy / 32m * 20 / Valid Parentheses / Easy / 11m * 202 / Happy Number / Easy / 23m --------- Co-authored-by: user <user@cseui-MacBookPro.local>
1 parent dbdfd84 commit 5931cd7

File tree

5 files changed

+121
-0
lines changed

5 files changed

+121
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* function TreeNode(val, left, right) {
4+
* this.val = (val===undefined ? 0 : val)
5+
* this.left = (left===undefined ? null : left)
6+
* this.right = (right===undefined ? null : right)
7+
* }
8+
*/
9+
/**
10+
* @param {TreeNode} root
11+
* @return {number}
12+
*/
13+
var maxDepth = function(root) {
14+
if(root === null) {
15+
return 0
16+
}
17+
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1
18+
};

hyunow/141_linked_list_cycle.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* function ListNode(val) {
4+
* this.val = val;
5+
* this.next = null;
6+
* }
7+
*/
8+
9+
/**
10+
* @param {ListNode} head
11+
* @return {boolean}
12+
*/
13+
var hasCycle = function(head) {
14+
var slow_pointer = head
15+
var fast_pointer = head
16+
17+
while(fast_pointer !== null && fast_pointer.next !== null) {
18+
slow_pointer = slow_pointer.next
19+
fast_pointer = fast_pointer.next.next
20+
if(slow_pointer === fast_pointer) {
21+
return true
22+
}
23+
}
24+
25+
return false
26+
};

hyunow/1_two_sum.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number[]}
5+
*/
6+
var twoSum = function(nums, target) {
7+
const n = nums.length;
8+
const ans = [];
9+
10+
for (let i = 0; i < n - 1; i++) {
11+
for (let j = i + 1; j < n; j++) {
12+
if (nums[i] + nums[j] === target) {
13+
ans.push(parseInt(i))
14+
ans.push(parseInt(j))
15+
return ans
16+
}
17+
}
18+
}
19+
};

hyunow/202_happy_number.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number} n
3+
* @return {boolean}
4+
*/
5+
var isHappy = function(n) {
6+
const seen = new Set()
7+
8+
while(true) {
9+
let sum = 0
10+
while (n > 0) {
11+
const num = n % 10
12+
sum += num ** 2
13+
n = Math.floor(n / 10)
14+
}
15+
16+
if(sum === 1) {
17+
return true
18+
}
19+
20+
if(seen.has(sum)) {
21+
return false
22+
}
23+
24+
seen.add(sum)
25+
n = sum
26+
27+
}
28+
29+
};

hyunow/20_valid_parentheses.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {string} s
3+
* @return {boolean}
4+
*/
5+
var isValid = function(s) {
6+
const stack = [];
7+
const n = s.length;
8+
for (let i = 0; i < n; i++) {
9+
if (!stack) {
10+
stack.push(s[i])
11+
} else {
12+
let temp = stack.pop()
13+
if( (temp === '(' && s[i] === ')') ||
14+
(temp === '{' && s[i] === '}') ||
15+
(temp === '[' && s[i] === ']') ) {
16+
continue
17+
} else {
18+
stack.push(temp)
19+
stack.push(s[i])
20+
}
21+
}
22+
}
23+
console.log(stack)
24+
if(stack.length === 1) {
25+
return true
26+
} else {
27+
return false
28+
}
29+
};

0 commit comments

Comments
 (0)