Check if a string is suffix of another

Given two strings s1 and s2, check if s1 is a suffix of s2. Or in simple words we need to find whether string s2 ends with string s1.
Examples :

Input : s1 = "geeks" and s2 = "geeksforgeeks"
Output : Yes

Input : s1 = "world", s2 = "my first code is hello world"
Output : Yes

Input : s1 = "geeks" and s2 = "geeksforGeek"
Output : No

Method 1 (Writing our own code)

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find if a string is 
// suffix of another
#include <iostream>
#include <string>
using namespace std;
  
bool isSuffix(string s1, string s2)
{
    int n1 = s1.length(), n2 = s2.length();
    if (n1 > n2)
      return false;
    for (int i=0; i<n1; i++)
       if (s1[n1 - i - 1] != s2[n2 - i - 1])
           return false;
    return true;
}
  
int main()
{
    string s1 = "geeks", s2 = "geeksforgeeks";
  
    // Test case-sensitive implementation 
    // of endsWith function
    bool result = isSuffix(s1, s2);
  
    if (result) 
        cout << "Yes";
    else
        cout << "No";
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find if a string is 
// suffix of another
  
class GFG
{
    static boolean isSuffix(String s1, String s2)
    {
        int n1 = s1.length(), n2 = s2.length();
        if (n1 > n2)
        return false;
        for (int i=0; i<n1; i++)
        if (s1.charAt(n1 - i - 1) != s2.charAt(n2 - i - 1))
            return false;
        return true;
    }
      
    public static void main(String []args)
    {
        String s1 = "geeks", s2 = "geeksforgeeks";
      
        // Test case-sensitive implementation 
        // of endsWith function
        boolean result = isSuffix(s1, s2);
      
        if (result) 
            System.out.println( "Yes");
        else
            System.out.println("No");
      
          
    }
  
}
  
// This code is contributed by iAyushRaj

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to find if a 
# string is suffix of another
def isSuffix(s1, s2):
      
    n1 = len(s1)
    n2 = len(s2)
    if (n1 > n2):
        return False
    for i in range(n1):
        if(s1[n1 - i - 1] != s2[n2 - i - 1]):
            return False
    return True
  
# Driver Code
if __name__ == "__main__":
      
    s1 = "geeks"
    s2 = "geeksforgeeks"
  
    # Test case-sensitive implementation 
    # of endsWith function
    result = isSuffix(s1, s2)
  
    if (result): 
        print("Yes")
    else:
        print( "No")
  
# This code is contributed
# by ChitraNayal

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find if a string is 
// suffix of another
  
using System;
class GFG
{
    static bool isSuffix(string s1, string s2)
    {
        int n1 = s1.Length, n2 = s2.Length;
        if (n1 > n2)
        return false;
        for (int i=0; i<n1; i++)
        if (s1[n1 - i - 1] != s2[n2 - i - 1])
            return false;
        return true;
    }
      
    public static void Main()
    {
        string s1 = "geeks", s2 = "geeksforgeeks";
      
        // Test case-sensitive implementation 
        // of endsWith function
        bool result = isSuffix(s1, s2);
      
        if (result) 
            Console.WriteLine( "Yes");
        else
            Console.WriteLine("No");
      
          
    }
  
}
  
// This code is contributed by iAyushRaj

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find if a 
// string is suffix of another
function isSuffix($s1, $s2)
{
    $n1 = ($s1); 
    $n2 = strlen($s2);
    if ($n1 > $n2)
    return false;
    for ($i = 0; $i < $n1; $i++)
    if ($s1[$n1 - $i - 1] != $s2[$n2 - $i - 1])
        return false;
    return true;
}
// Driver Code
$s1 = "geeks";
$s2 = "geeksforgeeks";
  
// Test case-sensitive implementation 
// of endsWith function
$result = isSuffix($s1, $s2);
  
if ($result
    echo "Yes";
else
    echo "No";
  
// This code is contributed by m_kit
?>

chevron_right


Output:

Yes

Method 2 (Using boost library in C++)
Since std::string class does not provide any endWith() function which a string ends with another string so we will be using Boost Library. Make sure to include #include boost/algorithm/string.hpp and #include string to run the code fine.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find if a string is 
// suffix of another
#include <boost/algorithm/string.hpp>
#include <iostream>
#include <string>
using namespace std;
  
int main()
{
    string s1 = "geeks", s2 = "geeksforgeeks";
  
    // Test case-sensitive implementation 
    // of endsWith function
    bool result = boost::algorithm::ends_with(s2, s1);
  
    if (result) 
        cout << "Yes";
    else
        cout << "No";
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find if a string is 
// suffix of another
class GFG
{
  
    public static void main(String[] args) 
    {
        String s1 = "geeks", s2 = "geeksforgeeks";
  
        // Test case-sensitive implementation 
        // of endsWith function
        boolean result = s2.endsWith(s1);
  
        if (result) 
                System.out.println("Yes");
        else
            System.out.println("No");
    }
  
// This code is contributed by 29AjayKumar

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find if a string is 
// suffix of another 
using System;
  
class GFG 
    // Driver code
    public static void Main(String[] args) 
    
        String s1 = "geeks", s2 = "geeksforgeeks"
  
        // Test case-sensitive implementation 
        // of endsWith function 
        bool result = s2.EndsWith(s1); 
  
        if (result) 
                Console.WriteLine("Yes"); 
        else
            Console.WriteLine("No"); 
    
  
// This code contributed by Rajput-Ji

chevron_right


Output :

Yes


My Personal Notes arrow_drop_up

A computer Science ug student from lnmiit Interested in learning and sharing algorithmic knowledge Found near online Judges and food

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.





Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.