回文配列を分析する(再帰)

  目的:文字列が回文配列であるかどうかを判断します。

  コードは以下の通りであります:

1つの インポートjava.util.Scanner。
2  
3  パブリック クラス回文{
 4      パブリック 静的 ボイドメイン(文字列[]引数){
 5          =スキャナ新しいスキャナ(System.in)。
6          ストリングS = in.next()。
7          INT N = s.length()。
8          であれば(N == 1 || N == 0 ){
 9              のSystem.out.println( "该字符串回文" )。
10          }
 11          {
 12              裁判官(S、0、N-1 )。
13         }
 14          in.close()。
15      }
 16      
17      パブリック 静的 ボイド裁判官(文字列、int型 B、INT C){
 18          チャー C1 = a.charAt(B)。
19          チャー C2 = a.charAt(C);
20          であれば(C1 == {C2)
 21              であれば(C == B || C == B + 1 ){
 22                  のSystem.out.println( "该字符串回文" )。
23              }
 24              {
 25                  裁判官(++ B、 - C)。
26             }
 27          }
 28          {
 29              のSystem.out.println( "文字列しないパリンドローム" );
 30          }
 31      }
 32  
33です }

方法ジャッジ三つのパラメータ:文字列は、文字列入力手段と、INT Bは最初に添え字文字列ヘッド、方法は、時間増分ごとに一度行われ、文字列の始端としてint型Cの添字は、方法が一回実行されます一度デクリメント。

 

特定の実装:のcharAtの使用は、それぞれ比較して、その後、C1とC2変数を表す文字列を読み込みます。(文字列の長さが偶数である場合)条件のC == bを中断またはC == B + 1 C1 ==再帰的(文字列の長さが奇数である)メソッドを呼び出すC2、懸濁液の条件を満たし、且つありません。結果まで。

おすすめ

転載: www.cnblogs.com/20183711PYD/p/11575580.html