1 static int wing=[]() 2 { 3 std::ios::sync_with_stdio(false); 4 cin.tie(NULL); 5 return 0; 6 }(); 7 8 class Solution 9 { 10 public: 11 bool validPalindrome(string s) 12 { 13 int len=s.length(); 14 int left=0,right=len-1; 15 while(left<right) 16 { 17 if(s[left]!=s[right]) 18 return judgedor(left+1,right,s)||judgedor(left,right-1,s); 19 left++; 20 right--; 21 } 22 return true; 23 } 24 25 bool judgedor(int l,int r,string &s) 26 { 27 while(l<r) 28 { 29 if(s[l++]!=s[r--]) 30 return false; 31 } 32 return true; 33 } 34 };
两端指针,若字符不相等,则跳过左边或者右边继续判定
浙公网安备 33010602011771号