再帰アルゴリズム判定返信文字列
動的計画の考え方を利用して、1つの文字列が回文文字列であれば、その2つの頭の文字は一定に等しく、同時に2つの頭のサブ文字列を削除するのは必ず回文文字列である.これにより,ターゲット文字列から1文字(奇数文字列)または文字(偶数文字列)が1文字しか残っていない場合に再帰スキームを設計することができ,この場合,サブ文字列は必ず回文文字列であり,その後,この結果を遡及することで結果を得ることができる.
c++コード:
jsコード:
c++コード:
bool PalinString(string obj)
{
if (obj == "" || obj.length() == 1)return true;
else if (obj[0] == obj.back() && PalinString(obj.substr(1, obj.length() - 2)))return true;
else return false;
}
jsコード:
PalinString=function(obj)
{
if(obj.length==""||obj.length==1)return true;
else if(obj[0]==obj[obj.length-1]&&PalinString(obj.substr(1,obj.length-2)))return true;
else return false;
}