Skip to content

Commit 72cfa28

Browse files
author
橙澈
committed
week01 code
1 parent f74cece commit 72cfa28

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

Week01/code.js

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// 删除排序数组中的重复项
2+
var removeDuplicates = function(nums) {
3+
let count = 0
4+
let len = nums.length
5+
for (let i = 1; i<len; i++) {
6+
if (nums[i - 1] !== nums[i]) {
7+
nums[i-count] = nums[i]
8+
} else {
9+
count++
10+
}
11+
}
12+
return len-count
13+
};
14+
15+
// 移动零
16+
var moveZeroes = function(nums) {
17+
let zeroCounts = 0
18+
for (let i = 0; i < nums.length; i++) {
19+
if (nums[i] === 0) {
20+
zeroCounts++
21+
} else {
22+
let temp = nums[i]
23+
nums[i] = 0
24+
nums[i - zeroCounts] = temp
25+
}
26+
}
27+
};
28+
29+
var moveZeroes = function(nums) {
30+
let firstNonZero = 0
31+
for (let i = 0; i < nums.length; i++) {
32+
if ( nums[i] !== 0) {
33+
nums[firstNonZero] = nums[i]
34+
if (i !== firstNonZero) {
35+
nums[i] = 0
36+
}
37+
firstNonZero++
38+
}
39+
}
40+
};
41+
42+
// 合并两个有序链表
43+
var mergeTwoLists = function(l1, l2) {
44+
let thead = new ListNode(0)
45+
let l = thead
46+
while (l1 !== null && l2 !== null) {
47+
if (l1.val < l2.val) {
48+
l.next = l1
49+
l1 = l1.next
50+
} else {
51+
l.next = l2
52+
l2 = l2.next
53+
}
54+
l = l.next
55+
}
56+
l.next = l1 == null? l2: l1;
57+
return thead.next
58+
};
59+
60+
var mergeTwoLists = function(l1, l2) {
61+
if (l1 === null) {
62+
return l2
63+
}
64+
if (l2 === null) {
65+
return l1
66+
}
67+
if (l1.val <= l2.val) {
68+
l1.next = mergeTwoLists(l1.next, l2)
69+
return l1
70+
}
71+
l2.next = mergeTwoLists(l1, l2.next)
72+
return l2
73+
};
74+
75+
// 选择数组
76+
var rotate = function(nums, k) {
77+
for (let i = 0; i < k; i++) {
78+
nums.unshift(nums.pop())
79+
}
80+
};
81+
82+
var rotate = function(nums, k) {
83+
nums.splice(0, 0, ...nums.splice(nums.length - k));
84+
};

0 commit comments

Comments
 (0)