Length Of Last Word in a String

09 Jun, 2021
Given a string s consisting of upper/lower-case alphabets and empty space characters ‘ ‘, return the length of the last word in the string. If the last word does not exist, return 0.
Examples:  
Input  : str = "Geeks For Geeks"
Output : 5
length(Geeks)= 5

Input : str = "Start Coding Here"
Output : 4
length(Here) = 4

Input  :  **
Output : 0
Approach 1: Iterate String from index 0 If we iterate the string from left to right, we would have to be careful about the spaces after the last word. The spaces before the first word can be ignored easily. However, it is difficult to detect the length of the last word if there are spaces at the end of the string. This can be handled by trimming the spaces before or at the end of the string. If modifying the given string is restricted, we need to create a copy of the string and trim spaces from that.  
C++
Java
Python3
C#
Javascript
// C++ program for implementation of simple// approach to find length of last word#include<bits/stdc++.h>#include <boost/algorithm/string.hpp>using namespace std; int lengthOfLastWord(string a){    int len = 0;         /* String a is 'final'-- can not be modified    So, create a copy and trim the spaces from    both sides */    string str(a);    boost::trim_right(str);    for (int i = 0; i < str.length(); i++)    {        if (str.at(i) == ' ')            len = 0;        else            len++;    }    return len;} // Driver codeint main(){    string input = "Geeks For Geeks ";    cout << "The length of last word is "        << lengthOfLastWord(input);} // This code is contributed by Rajput-Ji
// Java program for implementation of simple// approach to find length of last wordpublic class GFG {    public int lengthOfLastWord(final String a)    {        int len = 0;         /* String a is 'final'-- can not be modified           So, create a copy and trim the spaces from           both sides */        String x = a.trim();         for (int i = 0; i < x.length(); i++) {            if (x.charAt(i) == ' ')                len = 0;            else                len++;        }         return len;    }     // Driver code    public static void main(String[] args)    {        String input = "Geeks For Geeks  ";        GFG gfg = new GFG();        System.out.println("The length of last word is " + gfg.lengthOfLastWord(input));    }}
# Python3 program for implementation of simple# approach to find length of last worddef lengthOfLastWord(a):    l = 0     # String a is 'final'-- can not be modified    # So, create a copy and trim the spaces from    # both sides    x = a.strip()     for i in range(len(x)):        if x[i] == " ":            l = 0        else:            l += 1    return l # Driver codeif __name__ == "__main__":    inp = "Geeks For Geeks "    print("The length of last word is",                 lengthOfLastWord(inp)) # This code is contributed by# sanjeev2552
// C# program for implementation of simple// approach to find length of last wordusing System; class GFG {     public virtual int lengthOfLastWord(string a)    {        int len = 0;         // String a is 'final'-- can        // not be modified So, create        // a copy and trim the        // spaces from both sides        string x = a.Trim();         for (int i = 0; i < x.Length; i++) {            if (x[i] == ' ') {                len = 0;            }            else {                len++;            }        }         return len;    }     // Driver code    public static void Main(string[] args)    {        string input = "Geeks For Geeks ";        GFG gfg = new GFG();        Console.WriteLine("The length of last word is "                          + gfg.lengthOfLastWord(input));    }} // This code is contributed by shrikanth13
<script> // js program for implementation of simple// approach to find length of last word  function lengthOfLastWord(a){    let len = 0;     // String a is 'final'-- can    // not be modified So, create    // a copy and trim the    // spaces from both sides    x = a.trim();     for (let i = 0; i < x.length; i++) {        if (x[i] == ' ') {            len = 0;        }        else {            len++;        }    }     return len;} // Driver code input = "Geeks For Geeks ";document.write("The length of last word is "+ lengthOfLastWord(input));   </script>
Output: 
Length of the last word is 5
 Approach 2: Iterate the string from the last index. This idea is more efficient since we can easily ignore the spaces from the last. The idea is to start incrementing the count when you encounter the first alphabet from the last and stop when you encounter a space after those alphabets.
C++
Java
Python3
C#
PHP
// CPP program for implementation of efficient// approach to find length of last word#include <bits/stdc++.h>#include <iostream>using namespace std; int length(string str){    int count = 0;    bool flag = false;    for (int i = str.length() - 1; i >= 0; i--) {        // Once the first character from last        // is encountered, set char_flag to true.        if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {            flag = true;            count++;        }        // When the first space after the        // characters (from the last) is        // encountered, return the length        // of the last word        else {            if (flag == true)                return count;        }    }    return count;} // Driver codeint main(){    string str = "Geeks for Geeks";    cout << "The length of last word is " << length(str);    return 0;} // This code is contributed by rahulkumawat2107
// Java program for implementation of efficient// approach to find length of last wordpublic class GFG {    public int lengthOfLastWord(final String a)    {        boolean char_flag = false;        int len = 0;        for (int i = a.length() - 1; i >= 0; i--) {            if (Character.isLetter(a.charAt(i))) {                // Once the first character from last                // is encountered, set char_flag to true.                char_flag = true;                len++;            }            else {                // When the first space after the characters                // (from the last) is encountered, return the                // length of the last word                if (char_flag == true)                    return len;            }        }        return len;    }     // Driver code    public static void main(String[] args)    {        String input = "Geeks For Geeks  ";        GFG gfg = new GFG();        System.out.println("The length of last word is " + gfg.lengthOfLastWord(input));    }}
# Python3 program for implementation of efficient# approach to find length of last worddef length(str):     count = 0;    flag = False;    length = len(str)-1;    while(length != 0):        if(str[length] == ' '):            return count;        else:            count += 1;        length -= 1;    return count; # Driver codestr = "Geeks for Geeks";print("The length of last word is",                      length(str)); # This code is contributed by Rajput Ji
// C# program for implementation of efficient// approach to find length of last wordusing System; class GFG {     public virtual int lengthOfLastWord(string a)    {        bool char_flag = false;        int len = 0;        for (int i = a.Length - 1; i >= 0; i--) {            if (char.IsLetter(a[i])) {                // Once the first character from last                // is encountered, set char_flag to true.                char_flag = true;                len++;            }            else {                // When the first space after the                // characters (from the last) is                // encountered, return the length                // of the last word                if (char_flag == true) {                    return len;                }            }        }        return len;    }     // Driver code    public static void Main(string[] args)    {        string input = "Geeks For Geeks ";        GFG gfg = new GFG();        Console.WriteLine("The length of last word is " + gfg.lengthOfLastWord(input));    }} // This code is contributed by Shrikant13
<?php// PHP program for implementation of efficient// approach to find length of last word function length($str){    $count = 0;    $flag = false;    for($i = strlen($str)-1 ; $i>=0 ; $i--)    {        // Once the first character from last        // is encountered, set char_flag to true.        if( ($str[$i] >='a' && $str[$i]<='z') ||            ($str[$i] >='A' && $str[$i]<='Z'))        {            $flag = true;            $count++;        }                 // When the first space after the        // characters (from the last) is        // encountered, return the length        // of the last word        else        {            if($flag == true)                return $count;        }             }    return $count;} // Driver code$str = "Geeks for Geeks";echo "The length of last word is ", length($str); // This code is contributed by ajit.?>
Output:  
Length of the last word is 5
This article is contributed by Saloni Baweja. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
As all the words in a sentence are separated by spaces.
We have to split the sentence by spaces using split().
We split all the words by spaces and store them in a list.
Print the length of the last word of the list.
Below is the implementation:
Python3
Javascript
# Python3 program for implementation of efficient# approach to find length of last word  def length(str):  # Split by space and converting    # String to list and    lis = list(str.split(" "))    return len(lis[-1])  # Driver codestr = "Geeks for Geeks"print("The length of last word is",      length(str)) # This code is contributed by vikkycirus
<script> // Javascript program for implementation// of efficient approach to find length// of last wordfunction length(str){         // Split by space and converting    // String to list and    var lis = str.split(" ")    return lis[lis.length - 1].length;} // Driver codevar str = "Geeks for Geeks"document.write("The length of last word is " +               length(str)); // This code is contributed by bunnyram19 </script>
Output:
Length of the last word is 5
shrikanth13
rahulkumawat2107
jit_t
shubham_singh
sanjeev2552
Rajput-Ji
vikkycirus
mohit kumar 29
bunnyram19
Java-Strings
Strings
Java-Strings
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.