objectLengthOfLastWord{ defmain(args: Array[String]): Unit = { println(lengthOfLastWord("")) println(lengthOfLastWord(" ")) println(lengthOfLastWord("word")) println(lengthOfLastWord("word ")) println(lengthOfLastWord(" word ")) println(lengthOfLastWord(" word word")) println(lengthOfLastWord(" word word ")) println(lengthOfLastWord(" word"))
println(lengthOfLastWord2("")) println(lengthOfLastWord2(" ")) println(lengthOfLastWord2("word")) println(lengthOfLastWord2("word ")) println(lengthOfLastWord2(" word ")) println(lengthOfLastWord2(" word word")) println(lengthOfLastWord2(" word word ")) println(lengthOfLastWord2(" word")) }
deflengthOfLastWord(s: String): Int = { if (s.length == 0) return0 var end = s.length - 1 var start = 0 var i = end var findEnd = false while (i >= 0) { if (!findEnd && s.charAt(i) == ' ') i -= 1 if (!findEnd && i >= 0 && s.charAt(i) != ' ') { findEnd = true end = i + 1 } if (findEnd && s.charAt(i) == ' ') { start = i + 1 i = -1 } if (findEnd && i >= 0 && s.charAt(i) != ' ') i -= 1 } if (findEnd) end - start else0 }
deflengthOfLastWord2(s: String): Int = { if (s.length == 0) return0 var len = 0 for (i <- s.length - 1 to 0 by -1) { if (s.charAt(i) != ' ') { len += 1 } else { if (len != 0) return len } } len } }