parent
9bd094a67c
commit
18cd04bab4
@ -0,0 +1,15 @@
|
||||
package lastword
|
||||
|
||||
import "strings"
|
||||
|
||||
func LengthOfLastWord(s string) int {
|
||||
return lengthOfLastWord(s)
|
||||
}
|
||||
|
||||
func lengthOfLastWord(s string) int {
|
||||
words := strings.Fields(s)
|
||||
if len(words) == 0 {
|
||||
return 0
|
||||
}
|
||||
return len(words[len(words)-1])
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package lastword_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.jxs.me/leetgo/lastword"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestExamples(t *testing.T) {
|
||||
cases := map[string]int{
|
||||
"": 0,
|
||||
"hello": 5,
|
||||
"hello computer": 8,
|
||||
" goodbye my friend ": 6,
|
||||
}
|
||||
for input, expected := range cases {
|
||||
t.Run(input, func(t *testing.T) {
|
||||
result := lastword.LengthOfLastWord(input)
|
||||
require.Equal(t, expected, result)
|
||||
})
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
58. Length of Last Word
|
||||
Easy
|
||||
|
||||
Given a string s consisting of words and spaces, return the length of the last word in the string.
|
||||
|
||||
A word is a maximal substring consisting of non-space characters only.
|
||||
|
||||
|
||||
Example 1:
|
||||
|
||||
```
|
||||
Input: s = "Hello World"
|
||||
Output: 5
|
||||
Explanation: The last word is "World" with length 5.
|
||||
```
|
||||
|
||||
Example 2:
|
||||
|
||||
```
|
||||
Input: s = " fly me to the moon "
|
||||
Output: 4
|
||||
Explanation: The last word is "moon" with length 4.
|
||||
```
|
||||
|
||||
Example 3:
|
||||
|
||||
```
|
||||
Input: s = "luffy is still joyboy"
|
||||
Output: 6
|
||||
Explanation: The last word is "joyboy" with length 6.
|
||||
```
|
||||
|
||||
Constraints:
|
||||
|
||||
1 <= s.length <= 104
|
||||
s consists of only English letters and spaces ' '.
|
||||
There will be at least one word in s.
|
Loading…
Reference in new issue