Find last index of a character in a string - GeeksforGeeks

30 Apr, 2021
Given a string str and a character x, find last index of x in str.Examples :  
Input : str = "geeks", x = 'e'
Output : 2
Last index of 'e' in "geeks" is: 2 

Input : str = "Hello world!", x = 'o'
Output : 7
Last index of 'o' is: 7 
 
Method 1 (Simple : Traverse from left) : Traverse given string from left to right and keep updating index whenever x matches with current character.  
C++
Java
Python3
C#
PHP
Javascript
// CPP program to find last index of// character x in given string.#include <iostream>using namespace std; // Returns last index of x if it is present.// Else returns -1.int findLastIndex(string& str, char x){    int index = -1;    for (int i = 0; i < str.length(); i++)        if (str[i] == x)            index = i;    return index;} // Driver codeint main(){    // String in which char is to be found    string str = "geeksforgeeks";     // char whose index is to be found    char x = 'e';    int index = findLastIndex(str, x);    if (index == -1)        cout << "Character not found";    else        cout << "Last index is " << index;    return 0;}
// Java program to find last index// of character x in given string.import java.io.*; class GFG {  // Returns last index of x if// it is present Else returns -1.static int findLastIndex(String str, Character x){    int index = -1;    for (int i = 0; i < str.length(); i++)        if (str.charAt(i) == x)            index = i;    return index;}  // Driver codepublic static void main(String[] args){    // String in which char is to be found    String str = "geeksforgeeks";     // char whose index is to be found    Character x = 'e';     int index = findLastIndex(str, x);    if (index == -1)        System.out.println("Character not found");    else        System.out.println("Last index is " + index);}} /* This code is contributed by Prerna Saini */
# A Python program to find last# index of character x in given# string. # Returns last index of x if it# is present. Else returns -1.def findLastIndex(str, x):    index = -1    for i in range(0, len(str)):        if str[i] == x:            index = i    return index # Driver program # String in which char is to be foundstr = "geeksforgeeks" # char whose index is to be foundx = 'e' index = findLastIndex(str, x) if index == -1:    print("Character not found")else:    print('Last index is', index) # This code is contributed by shrikant13.
// C# program to find last index// of character x in given string.using System; class GFG {     // Returns last index of x if    // it is present Else returns -1.    static int findLastIndex(string str, char x)    {        int index = -1;        for (int i = 0; i < str.Length; i++)            if (str[i] == x)                index = i;        return index;    }         // Driver code    public static void Main()    {        // String in which char is to be found        string str = "geeksforgeeks";             // char whose index is to be found        char x = 'e';             int index = findLastIndex(str, x);        if (index == -1)            Console.WriteLine("Character not found");        else            Console.WriteLine("Last index is " + index);    }} /* This code is contributed by vt_m */
<?php// PHP program to find last index of// character x in given string. // Returns last index of// x if it is present.// Else returns -1.function findLastIndex($str, $x){    $index = -1;    for ($i = 0; $i < strlen($str); $i++)        if ($str[$i] == $x)            $index = $i;    return $index;} // Driver code// String in which// char is to be found$str = "geeksforgeeks"; // char whose index// is to be found$x = 'e';$index = findLastIndex($str, $x);if ($index == -1)    echo("Character not found");else    echo("Last index is " . $index); // This code is contributed by Ajit.?>
<script>// javascript program to find last index// of character x in given string. // Returns last index of x if// it is present Else returns -1.function findLastIndex(str, x){    let index = -1;    for (let i = 0; i < str.length; i++)        if (str[i] == x)            index = i;    return index;}    // Driver code     // String in which char is to be found    let str = "geeksforgeeks";       // char whose index is to be found    let x = 'e';       let index = findLastIndex(str, x);    if (index == -1)        document.write("Character not found");    else       document.write("Last index is " + index);           // This code is contributed by sanjoy_62.</script>
Output:  
Last index is 10
Time Complexity : Θ(n)Method 2 (Efficient : Traverse from right) : In above method 1, we always traverse complete string. In this method, we can avoid complete traversal in all those cases when x is present. The idea is to traverse from right side and stop as soon as we find character. 
CPP
Java
Python3
C#
PHP
Javascript
// Simple CPP program to find last index of// character x in given string.#include <iostream>using namespace std; // Returns last index of x if it is present.// Else returns -1.int findLastIndex(string& str, char x){    // Traverse from right    for (int i = str.length() - 1; i >= 0; i--)        if (str[i] == x)            return i;     return -1;} // Driver codeint main(){    string str = "geeksforgeeks";    char x = 'e';    int index = findLastIndex(str, x);    if (index == -1)        cout << "Character not found";    else        cout << "Last index is " << index;    return 0;}
// Java code to find last index// character x in given string.import java.io.*;class GFG {  // Returns last index of x if// it is present. Else returns -1.static int findLastIndex(String str, Character x){    // Traverse from right    for (int i = str.length() - 1; i >= 0; i--)        if (str.charAt(i) == x)            return i;     return -1;}  // Driver codepublic static void main(String[] args){    String str = "geeksforgeeks";    Character x = 'e';    int index = findLastIndex(str, x);    if (index == -1)        System.out.println("Character not found");    else        System.out.println("Last index is " + index);}}// This code is contributed by Prerna Saini
# Simple Python3 program to find last# index of character x in given string. # Returns last index of x if it is# present. Else returns -1.def findLastIndex(str, x):     # Traverse from right    for i in range(len(str) - 1, -1,-1):        if (str[i] == x):            return i     return -1 # Driver codestr = "geeksforgeeks"x = 'e'index = findLastIndex(str, x) if (index == -1):    print("Character not found")else:    print("Last index is " ,index) # This code is contributed by Smitha
// C# code to find last index// character x in given string.using System; class GFG {     // Returns last index of x if    // it is present. Else returns -1.    static int findLastIndex(string str, char x)    {        // Traverse from right        for (int i = str.Length - 1; i >= 0; i--)            if (str[i] == x)                return i;             return -1;    }         // Driver code    public static void Main()    {        string str = "geeksforgeeks";        char x = 'e';        int index = findLastIndex(str, x);        if (index == -1)            Console.WriteLine("Character not found");        else            Console.WriteLine("Last index is " + index);    }}// This code is contributed by vt_m
<?php// Simple PHP program to find last index// of character x in given string. // Returns last index of x if it// is present. Else returns -1.function findLastIndex($str, $x){         // Traverse from right    for ($i = strlen($str) - 1; $i >= 0; $i--)        if ($str[$i] == $x)            return $i;     return -1;} // Driver code$str = "geeksforgeeks";$x = 'e';$index = findLastIndex($str, $x);if ($index == -1)    echo("Character not found");else    echo("Last index is " . $index); // This code is contributed by Ajit.?>
<script>    // Javascript code to find last index character x in given string.         // Returns last index of x if    // it is present. Else returns -1.    function findLastIndex(str, x)    {        // Traverse from right        for (let i = str.length - 1; i >= 0; i--)            if (str[i] == x)                return i;              return -1;    }         let str = "geeksforgeeks";    let x = 'e';    let index = findLastIndex(str, x);    if (index == -1)      document.write("Character not found");    else      document.write("Last index is " + index);             </script>
Output:  
Last index is 10
Time Complexity : O(n)  
YouTubeGeeksforGeeks500K subscribersFind last index of a character in a string | GeeksforGeeksWatch laterShareCopy linkInfoShoppingTap to unmuteIf playback doesn't begin shortly, try restarting your device.You're signed outVideos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer.CancelConfirmMore videosMore videosSwitch cameraShareInclude playlistAn error occurred while retrieving sharing information. Please try again later.Watch on0:000:000:00 / 3:09•Live•<div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage"><a href="https://www.youtube.com/watch?v=Ih9YswsVyn0" target="_blank">Try watching this video on www.youtube.com</a>, or enable JavaScript if it is disabled in your browser.</div></div>
 
shrikanth13
jit_t
Smitha Dinesh Semwal
sanjoy_62
mukesh07
Searching
Strings
Technical Scripter
Searching
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Split the given array into K sub-arrays such that maximum sum of all sub arrays is minimum
Best First Search (Informed Search)
3 Different ways to print Fibonacci series in Java
Find whether an array is subset of another array | Added Method 5
Program to remove vowels from a String
Reverse a string in Java
Write a program to reverse an array or string
Longest Common Subsequence | DP-4
Write a program to print all permutations of a given string
C++ Data Types