當前位置:編程學習大全網 - 編程軟體 - 給定壹個字符串,問是否能通過添加壹個字母將其變為回文串

給定壹個字符串,問是否能通過添加壹個字母將其變為回文串

思路:兩個指針,壹個從左往右,壹個從右往左,只能跳過壹次,第二次的時候及說明需要添加兩個字符

#include "stdafx.h"

#include<iostream>

#include<string>

using namespace std;

int main()

{

string str;

while (cin>>str)

{

bool flag = true;

bool move = true;

int left = 0;

int right = str.length() - 1 ;

while (left< str.length() / 2 && right>= str.length() / 2)

{

if (str[left] == str[right])

{

left++;

right--;

}

else if (right - 1 >= 0 && str[left] == str[right - 1] && move==true)

{

right--;

move = false;

}

else if (left + 1 >= 0 && str[left+1] == str[right ] && move == true)

{

left++;

move = false;

}

else

{

flag = false;

break;

}

}

if (flag == false)

{

cout << "NO" << endl;

}

else

{

cout << "YES" << endl;

}

}

return 0;

}

  • 上一篇:如何使用先鋒踢腳線取暖器省電
  • 下一篇:常德市技師學院招生電話
  • copyright 2024編程學習大全網