# Check if a string is suffix of another

• Difficulty Level : Easy
• Last Updated : 03 May, 2021

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 :

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

```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++

 `// CPP program to find if a string is``// suffix of another``#include ``#include ``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

## Java

 `// 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

## Python3

 `# 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`

## C#

 `// 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

## PHP

 ` ``\$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``?>`

## Javascript

 ``
Output:
`Yes`

Method 2 (Using boost library in C++)
Since std::string class does not provide any endWith() function in 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++

 `// CPP program to find if a string is``// suffix of another``#include ``#include ``#include ``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;``}`

## Java

 `// 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`

## Python3

 `# Python3 program to find if a string is``# suffix of another` `if` `__name__ ``=``=` `'__main__'``:``    ``s1 ``=` `"geeks"``;``    ``s2 ``=` `"geeksforgeeks"``;``    ` `    ``# Test case-sensitive implementation``    ``# of endsWith function``    ``result ``=` `s2.endswith(s1);``    ` `    ``if` `(result):``        ``print``(``"Yes"``);``    ``else``:``        ``print``(``"No"``);``    ` `# This code is contributed by Rajput-Ji`

## C#

 `// 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`

## Javascript

 ``
Output :
`Yes`

My Personal Notes arrow_drop_up