Example 1:
Input: S = "abba"
Output: 1
Explanation: S is a palindrome

Example 2:
Input: S = "abc"
Output: 0
Explanation: S is not a palindrome

method 1:

step 1: store the reversed string in another string x.

step 2: compare the original string with the reversed string,if both are the same return1 else return 0.

implementation in c++:

```        int isPlaindrome(string s)
{
string x;
int n=s.length();

for(int i=n-1;i>=0;i--)
x=x+s[i];

return s==x; //comparing if equal
}```

time complexity :O(n)

method 2:

1) Find length of string, let length be n.

2) Initialize low and high indexes as 0 and n-1 respectively.

3) Do following while low index ‘l’ is smaller than high index ‘h’.

a) If str[l] is not same as str[h], then return false.

b) Increment l and decrement h, i.e., do l++ and h–.

4) when l>=h the loop terminates and we have to return true

implementation in c++:

```void isPalindrome(char str[])
{
// Start from leftmost and rightmost corners of str
int l = 0;
int h = strlen(str) - 1;

// Keep comparing characters while they are same
while (h > l)
{
if (str[l++] != str[h--])
return 0;
}
return 1;
} ```

time complexity :O(n)

darkmode