再帰アルゴリズム判定返信文字列


動的計画の考え方を利用して、1つの文字列が回文文字列であれば、その2つの頭の文字は一定に等しく、同時に2つの頭のサブ文字列を削除するのは必ず回文文字列である.これにより,ターゲット文字列から1文字(奇数文字列)または文字(偶数文字列)が1文字しか残っていない場合に再帰スキームを設計することができ,この場合,サブ文字列は必ず回文文字列であり,その後,この結果を遡及することで結果を得ることができる.
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;
	   }