<p>Given a string <code>s</code>, return <code>true</code> <em>if the </em><code>s</code><em> can be palindrome after deleting <strong>at most one</strong> character from it</em>.</p>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> s = &quot;aba&quot;
<strong>Output:</strong> true
</pre>

<p><strong class="example">Example 2:</strong></p>

<pre>
<strong>Input:</strong> s = &quot;abca&quot;
<strong>Output:</strong> true
<strong>Explanation:</strong> You could delete the character &#39;c&#39;.
</pre>

<p><strong class="example">Example 3:</strong></p>

<pre>
<strong>Input:</strong> s = &quot;abc&quot;
<strong>Output:</strong> false
</pre>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

<ul>
	<li><code>1 &lt;= s.length &lt;= 10<sup>5</sup></code></li>
	<li><code>s</code> consists of lowercase English letters.</li>
</ul>

class Solution {
public:
    
    bool validpali(string s)
    {
        int i=0;
        int j=s.size()-1;
       int  count=1;
        
        while(i<j)
        {
            if(s[i]==s[j])
            {
                i++;
                j--;
            }
            else{
               
                    
                    if(count>0){
                        j--;
                        count--;
                    }
                  
                
               if(s[i]!=s[j])
               {
                   return false;
               }
                
            }
        }
        return true;
        
    }
    
    
    bool validpli(string s)
    {
         int i=0;
        int j=s.size()-1;
       int  count=1;
        
        while(i<j)
        {
            if(s[i]==s[j])
            {
                i++;
                j--;
            }
            else{
               
                    if(count>0){
                        i++;
                        count--;
                    }
                        
                  
                
               if(s[i]!=s[j])
               {
                   return false;
               }
                
            }
        }
        return true;
    }
    
    
    bool validPalindrome(string s) {
        
       bool ans1=validpali(s);
        bool ans2=validpli(s);
        
        if(ans1 || ans2)
        return true;
        else
            return false;
    }
};
27343