パリンドローム配列を[確認] LeetCode

[問題]文字列を考えると、それは回文文字列であることを確認し、唯一のアルファベットと数字を考えるには、大文字小文字を無視することができます。
説明:この問題では、我々は有効な回文配列として空の文字列を定義します。

1 
入力:男、計画、運河:パナマ
出力:trueに2 
入力:CARレース
の出力を:falseに

[思考]

良いこのアイデアを考えて、私たちは、両手LとR、各文字列の両端の先頭から比較を使用する文字が同じでない場合、falseを返します。もしそうなら、あと、l ++、r--の、中心に近いです。
しかし、鍵が鍵であり、有効な各文字、および大文字小文字を検出することです。そして、プログラムが有効なケースなしの文字の文字列を解決する必要があります!

ショートカットレターケースの変換:

統一国立成功大学は書いた:CH&0b11011111略称:CH&0xDF

0x20の| CH:0b00100000略語| CH:小文字に統一

[説明]

クラス解決{
 パブリックBOOLのisValid(チャーC){
         もし、((C> = ' ' && C <= ' Z ')||(C> = ' ' && C <= ' Z '  ||(c > = ' 0 ' && C <= ' 9 ' )){
             戻り
        } を返す 
         

    もし(S ==は「」を返す INTは L = 0、R = s.length() - 1 ;
        一方、(L < R){
             一方(のisValid(S [L])&&(L <R))L ++ 一方(のisValid(S [R])&&(L <R))r--のもし(L < R){
                 もし、((S [L ++] | の0x20)=(S [r--の] |!の0x20 )){
                     戻り 
                } 
            } 
        } 
        を返す ; 
    } 
}。

おすすめ

転載: www.cnblogs.com/zhudingtop/p/11669742.html