05.は最長のサブストリングパリンドロームを見つけます

トピック:

ターゲット機能を達成するために最初:01を送信

1  クラスソリューション{
 2      公共文字longestPalindrome(文字列S){
 3         のchar [] CH = s.toCharArray()。
4          もし(ch.length == 0 ){
 5              リターン "" 6          }
 7          INTの左= 0 8          int型の右= 0 ;
9          int型のインデックス= 0 10          int型 J = 0 ;
11          のint、K = 0 12          のためにint型 ; iがch.lengthを<I ++は、I = 1 ){
 13             一方、(インデックス< I){
 14                  (J =指数、K = 0であり、j <= IK; J ++、K ++ ){
 15                      であれば(!CH [J] = CH [IK ]){
 16                          ブレーク17                      }
 18                  }
 19                  であれば(j> = I- {k)が
 20                      であれば(I-指数>右、左){
 21                          、左= 指数;
22                          右= I;
23                      }
 24                  }
 25                  インデックス++ 26             }
 27             インデックス= 0 28          }
 29  
30          のStringBufferのStringBuffer = 新規のStringBuffer();
31          一方(左<= 右){
 32              stringBuffer.append(CH [左])。
33は              ++左;
34          }
 35          リターンstringBuffer.toString()。
36      }
 37 }

明らかに、あまりにも深刻かかり、今最適化する方法を検討?

02を送信:最適化

おすすめ

転載: www.cnblogs.com/baizhuang/p/11419967.html