File tree 3 files changed +113
-0
lines changed
0234.Palindrome Linked List
3 files changed +113
-0
lines changed Original file line number Diff line number Diff line change
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 number Diff line number Diff line change
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 number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments