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