Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Find if a string starts and ends with another given string

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

Given a string str and a corner string cs, we need to find out whether the string str starts and ends with the corner string cs or not.
Examples: 
 

Input : str = "geeksmanishgeeks", cs = "geeks"
Output : Yes

Input : str = "shreya dhatwalia", cs = "abc"
Output : No

 

Algorithm 
 

  • Find length of given string str as well as corner string cs. Let this length be n and cl respectively.
  • If cl>n, return false as cs can’t be greater than str.
  • Otherwise, find the prefix and suffix of length cl from str. If both prefix and suffix match with corner string cs, return true otherwise return false.

 

C++




// CPP program to find if a given corner string
// is present at corners.
#include <bits/stdc++.h>
using namespace std;
 
bool isCornerPresent(string str, string corner)
{
    int n = str.length();
    int cl = corner.length();
 
    // If length of corner string is more, it
    // cannot be present at corners.
    if (n < cl)
       return false;
 
    // Return true if corner string is present at
    // both corners of given string.
    return (str.substr(0, cl).compare(corner) == 0 &&
            str.substr(n-cl, cl).compare(corner) == 0);
}
 
// Driver code
int main()
{
   string str = "geeksforgeeks";
   string corner = "geeks";
   if (isCornerPresent(str, corner))
      cout << "Yes";
   else
      cout << "No";
   return 0;
}

Java




// Java program to find if a given corner
// string is present at corners.
import java.io.*;
class GFG {
     
    static boolean isCornerPresent(String str,
                                   String corner)
    {
        int n = str.length();
        int cl = corner.length();
 
        // If length of corner string
        // is more, it cannot be present
        // at corners.
        if (n < cl)
        return false;
 
        // Return true if corner string
        // is present at both corners
        // of given string.
        return (str.substring(0, cl).equals(corner) &&
                str.substring(n - cl, n).equals(corner));
    }
     
    // Driver Code
    public static void main (String[] args)
    {
        String str = "geeksforgeeks";
        String corner = "geeks";
        if (isCornerPresent(str, corner))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed by Manish_100

Python3




# Python program to find
# if a given corner string
# is present at corners.
 
def isCornerPresent(str, corner) :
 
    n = len(str)
    cl = len(corner)
 
    # If length of corner
    # string is more, it
    # cannot be present
    # at corners.
    if (n < cl) :
        return False
 
    # Return true if corner
    # string is present at
    # both corners of given
    # string.
    return ((str[: cl] == corner) and
            (str[n - cl :] == corner))
 
# Driver Code
str = "geeksforgeeks"
corner = "geeks"
if (isCornerPresent(str, corner)) :
    print ("Yes")
else :
    print ("No")
 
# This code is contributed by
# Manish Shaw(manishshaw1)

C#




// C# program to find if a
// given corner string is
// present at corners.
using System;
 
class GFG
{
static bool isCornerPresent(string str,
                            string corner)
{
    int n = str.Length;
    int cl = corner.Length;
 
    // If length of corner
    // string is more, it
    // cannot be present
    // at corners.
    if (n < cl)
        return false;
 
    // Return true if corner
    // string is present at
    // both corners of given
    // string.
    return (str.Substring(0,
            cl).Equals(corner) &&
            str.Substring(n - cl,
            cl).Equals(corner));
}
 
// Driver Code
static void Main ()
{
    string str = "geeksforgeeks";
    string corner = "geeks";
    if (isCornerPresent(str, corner))
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
}
}
 
// This code is contributed by
// Manish Shaw(manishshaw1)

PHP




<?php
// PHP program to find if a
// given corner string is
// present at corners.
 
function isCornerPresent($str,
                         $corner)
{
    $n = strlen($str);
    $cl = strlen($corner);
 
    // If length of corner
    // string is more, it
    // cannot be present
    // at corners.
    if ($n < $cl)
        return false;
 
    // Return true if corner
    // string is present at
    // both corners of given
    // string.
    return (!strcmp(substr($str, 0,
                           $cl), $corner) &&
            !strcmp(substr($str, $n -
                           $cl, $cl), $corner));
}
 
// Driver Code
$str = "geeksforgeeks";
$corner = "geeks";
if (isCornerPresent($str, $corner))
    echo ("Yes");
else
    echo ("No");
 
// This code is contributed by
// Manish Shaw(manishshaw1)
?>

Javascript




<script>
      // JavaScript program to find if a given corner string
      // is present at corners.
      function isCornerPresent(str, corner) {
        var n = str.length;
        var cl = corner.length;
 
        // If length of corner string is more, it
        // cannot be present at corners.
        if (n < cl) return false;
 
        // Return true if corner string is present at
        // both corners of given string.
        return (
          str.substring(0, cl).localeCompare(corner) === 0 &&
          str.substring(n - cl, n).localeCompare(corner) === 0
        );
      }
 
      // Driver code
      var str = "geeksforgeeks";
      var corner = "geeks";
      if (isCornerPresent(str, corner)) document.write("Yes");
      else document.write("No");
    </script>

Output : 
 

Yes

 

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!