Sponsored
Sponsored
This approach involves trimming any trailing spaces from the string, splitting it into words using spaces as delimiters, and then simply returning the length of the last word in the resulting list of words.
Time Complexity: O(n), where n is the length of the string.
Space Complexity: O(1), no extra space is used besides counters.
1#include <stdio.h>
2#include <string.h>
3
4int lengthOfLastWord(char * s) {
5 int length = 0;
6 for (int i = strlen(s) - 1; i >= 0; i--) {
7 if (s[i] == ' ' && length > 0) {
8 break;
9 }
10 if (s[i] != ' ') {
11 length++;
12 }
13 }
14 return length;
15}
16
17int main() {
18 char str[] = "Hello World";
19 printf("%d\n", lengthOfLastWord(str)); // Outputs 5
20 return 0;
21}
The C solution trims trailing spaces from the end first by iterating backward, and counts non-space characters to find the length of the last word.
The Python method leverages reverse traversal to count and return the last non-space character sequence length.