回文:ABAのABCBA
文字列によるデュアルループは、最後に開始探してから、内側のループを見つけるために、第一層から始まります。メモリ・サイクルは、新しいアレイで構成されている文字と外層の文字に等しい場合、それはパリンドロームか否かを判定する
パブリック 静的 ボイドメイン(文字列[]引数){ 文字列str =「gcgdecdabcdefgfeh」。 CHAR []文字の= str.toCharArray()。 地図 <文字列、整数>のmaxLength = maxLengthの(文字); System.out.println(maxLengthの); } 返回结果:{FGF = 3、GCG = 3、efgfe = 5}
//は新しいアレイコピー プライベート 静的 CHAR([] copynew チャー、[]文字をint型スタート、int型の{エンド) CHAR [] = newchars 新しい新しい チャーを [始端+ 1 ]; int型 N- = 0 ; のための(INT I =開始;私は=終了<;私は++ ){ newcharsは[N- ++] =の文字[I]; } 戻りnewchars; } // パリンドロームかどうかを判断し 、パブリック 静的 ブールチェック(文字[]文字){ int型スタート= 0 ; INT端= chars.length-1 。 しながら(<開始{端)を 場合(文字== [開始] 文字[END]){ 起動 ++ 。 エンド - ; } 他{ 戻り 偽。 } } 戻り 真。 }