classSolution { funclengthOfLastWord(_s: String) -> Int { let trimmed = s.trimmingCharacters(in: .whitespaces) var len =0 var i = trimmed.count -1 while i >=0&& trimmed[trimmed.index(trimmed.startIndex, offsetBy: i)] !=" " { len +=1 i -=1 } return len } }
结果
执行用时 : 54 ms, 击败 9.48% 使用 Swift 的用户
内存消耗 : 16.57 MB, 击败 6.89% 使用 Swift 的用户
Kotlin
1 2 3 4 5 6 7 8 9 10 11 12
classSolution { funlengthOfLastWord(s: String): Int { val trimmed = s.trim() var len = 0 var i = trimmed.length - 1 while (i >= 0 && trimmed[i] != ' ') { len++ i-- } return len } }
结果
执行用时 : 160 ms, 击败 51.43% 使用 Kotlin 的用户
内存消耗 : 36.84 MB, 击败 27.14% 使用 Kotlin 的用户
Dart
1 2 3 4 5 6 7 8 9 10 11 12
classSolution{ int lengthOfLastWord(String s) { String trimmed = s.trim(); int len = 0; int i = trimmed.length - 1; while (i >= 0 && trimmed[i] != ' ') { len++; i--; } return len; } }
结果
执行用时 : 276 ms, 击败 44.44% 使用 Dart 的用户
内存消耗 : 146.03 MB, 击败 72.22% 使用 Dart 的用户
Go
1 2 3 4 5 6 7 8 9 10
funclengthOfLastWord(s string)int { trimmed := strings.TrimSpace(s) wordLen := 0 i := len(trimmed) - 1 for i >= 0 && trimmed[i] != ' ' { wordLen++ i-- } return wordLen }
结果
执行用时 : 1 ms, 击败 13.07% 使用 Go 的用户
内存消耗 : 2.02 MB, 击败 86.59% 使用 Go 的用户
Ruby
1 2 3 4 5 6 7 8 9 10 11 12
# @param {String} s # @return {Integer} deflength_of_last_word(s) trimmed = s.strip len = 0 i = trimmed.length - 1 while i >= 0 && trimmed[i] != ' ' len += 1 i -= 1 end len end
结果
执行用时 : 53 ms, 击败 90.91% 使用 Ruby 的用户
内存消耗 : 206.53 MB, 击败 45.45% 使用 Ruby 的用户
Scala
1 2 3 4 5 6 7 8 9 10 11 12
objectSolution{ deflengthOfLastWord(s: String): Int = { val trimmed = s.trim var len = 0 var i = trimmed.length - 1 while (i >= 0 && trimmed(i) != ' ') { len += 1 i -= 1 } len } }
结果
执行用时 : 517 ms, 击败 25.00% 使用 Scala 的用户
内存消耗 : 53.95 MB, 击败 25.00% 使用 Scala 的用户
Rust
1 2 3 4 5 6 7 8 9 10 11 12
implSolution { pubfnlength_of_last_word(s: String) ->i32 { lettrimmed = s.trim(); letmut len = 0; letmut i = trimmed.len() asi32 - 1; while i >= 0 && trimmed.chars().nth(i asusize).unwrap() != ' ' { len += 1; i -= 1; } len } }
结果
执行用时 : 0 ms, 击败 100.00% 使用 Rust 的用户
内存消耗 : 2.12 MB, 击败 31.82% 使用 Rust 的用户
Racket
1 2 3 4 5 6 7 8 9
(define/contract (length-of-last-word s) (-> string? exact-integer?) (define trimmed (string-trim s)) (let loop ((len0) (i (- (string-length trimmed) 1))) (cond ((and (>= i 0) (not (char=? (string-ref trimmed i) #\space))) (loop (+ len 1) (- i 1))) (else len))))