插入字元判斷是否構成回文串(三種方法)

2021-08-21 18:40:01 字數 1468 閱讀 1484

提要:所有**皆為c++語言。

看到題,首先想到如何判斷回文串

注:回文串新增或刪除指定字元一定還是回文串。

對於乙個字串,從左右兩端開始,以此判斷,直到讀取超出字串中間。

**如下:

#include

#include

using

namespace

std;

bool judgereversestring(char *str)

return

true;

}int main()

乙個字串既然能插入對應字元構成回文串,那麼刪掉與之對應的字元,也一定能構成回文串。

#include

#include

using

namespace

std;

//判斷回文串,在基礎的回文串判斷方法進行改進

bool judgereversestring(const

char *str,int len)

return

true;

}//插入乙個字元是回文串,那麼刪掉對應需要刪除的字元則還能構成回文串

//判斷刪除乙個字元是否還是回文串

bool deletecharisreversestring(const

char str)

if (judgereversestring(copy_str,strlen(str)-1) == true)

return

true;

}return

false;

}int main()

#include

#include

using namespace std;

int main()

}if (x>0)

cout << "yes"

<< endl;

else

cout << "no"

<< endl;}}

#include#includeusing namespace std;

//判斷是否是回文串,是的話返回-1,不是的話對應位置返回下標

//因為失敗要返回下標,所以滿足條件並沒有採取返回非負值而是-1

int ispalindromestring(string str)

return -1;

}bool insertcharisparlindromstring(string str)

//本身是回文串,新增指定字元還是回文串

判斷字串是否為回文串

題目 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false字串轉為小寫字串從字串開始和...

判斷字串是否回文字串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false public static bo...

怎麼判斷字串是否回文

public class stringutils 2223 return array 24 2526 27 判斷字串是否為回文 思路 先把char陣列倒置再一一比對 28 29 param str 30 字串 31 return 布林值 32 33 public boolean stringutil...