Skip to content

Commit 94359df

Browse files
authored
Merge pull request doocs#165 from limbowandering/master
add JS solution for 0027,0058,0234
2 parents 549243a + 012a59e commit 94359df

File tree

3 files changed

+113
-0
lines changed

3 files changed

+113
-0
lines changed
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
var removeElement3 = function (nums, val) {
2+
let len = nums.length
3+
if (len < 1) {
4+
return 0
5+
}
6+
7+
let i = 0
8+
while (i < len) {
9+
if (nums[i] === val) {
10+
nums[i] = nums[len - 1]
11+
len--
12+
} else {
13+
i++
14+
}
15+
}
16+
return len
17+
};
18+
19+
var removeElement2 = function (nums, val) {
20+
let i = 0
21+
for (let j = 0; j < nums.length; j++) {
22+
if (nums[j] !== val) {
23+
nums[i] = nums[j]
24+
i++
25+
}
26+
}
27+
return i
28+
}
29+
30+
var removeElement = function (nums, val) {
31+
let len = nums.length;
32+
for (let i = 0; i < len; i++) {
33+
if (nums[i] === val) {
34+
nums.splice(i, 1);
35+
i--;
36+
}
37+
}
38+
return len;
39+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
var lengthOfLastWord = function (s) {
2+
s = s.trim()
3+
return s.length - s.lastIndexOf(" ") - 1
4+
};
5+
6+
var lengthOfLastWord2 = function (s) {
7+
let res = 0
8+
for (let i = 0; i < s.length; i++) {
9+
if (s[i] !== ' ' && (i === 0 || s[i - 1] === ' ')) {
10+
res = 1
11+
} else if (s[i] !== ' ') {
12+
res++
13+
}
14+
}
15+
return res
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
var isPalindrome2 = function (head) {
2+
if (!head || !head.next) {
3+
return true
4+
}
5+
let slow = head
6+
let fast = head
7+
while (fast !== null && fast.next !== null) {
8+
slow = slow.next
9+
fast = fast.next.next
10+
}
11+
if (fast !== null) {
12+
slow = slow.next
13+
}
14+
15+
let p = new ListNode(0)
16+
while (slow !== null) {
17+
let t = slow.next
18+
slow.next = p.next
19+
p.next = slow
20+
slow = t
21+
}
22+
23+
let left = head
24+
let right = p.next
25+
while (right !== null) {
26+
if (left.val !== right.val) {
27+
return false
28+
}
29+
left = left.next
30+
right = right.next
31+
}
32+
return true
33+
};
34+
35+
var isPalindrom3 = function (head) {
36+
let arr = [];
37+
let next = head;
38+
while (next) {
39+
arr.push(next.val);
40+
next = next.next;
41+
}
42+
let len = Math.trunc(arr.length / 2);
43+
for (let i = 0; i < len; i++) {
44+
if (arr[i] !== arr[arr.length - 1 - i]) {
45+
return false;
46+
}
47+
}
48+
return true;
49+
}
50+
51+
var isPalindrome = function (head) {
52+
let arr = []
53+
while (head) {
54+
arr.push(head.val)
55+
head = head.next
56+
}
57+
return arr.join('') === arr.reverse().join('')
58+
}

0 commit comments

Comments
 (0)