58件のインタビューの質問:フリップ語順

 1、タイトル説明:

  牛は最近、毎朝、新しい従業員の魚をオフに来て、常に本の中でいくつかの文章を書き、英語で雑誌を開催します。猫魚は、コンテンツに関心のある同僚に、彼は魚を借りた日に見て書いたが、その意味を読んでいません。例えば、 "学生。A午前I"。その後、私はこの男は、文の単語の順序を持​​っていたことに気づき、正しい文であるべき、逆に「私は学生です。」。これらの言葉の一つ一つのオーダーの猫は、行を反転、あなたは彼を助けることができないのですか?

2、思考:

  最初の単語全体を反転し、一つの単語各バックを回転する、空間分割Geqieワードの使用。定義により、開始二つのポインタが回転の開始位置、文字の必要な回転アレイを達成する方法の一部だけを特定する必要が終了あります。文字列を操作するには、動作させるために文字列に変換する必要があります。

3、コード:

パブリック クラスソリューション{
     公共 静的 ボイドメイン(文字列[]引数){ 
        文字列S = "I AM A学生。" ; 
        ストリングS1 = ReverseSentence(S)
        のSystem.out.println(S1); 
    } 

    パブリック 静的文字列ReverseSentence(文字列STR){
         // 第1のフリップフロッ単語全体
         // 方法は、次に、このように文字のフリップ部分が必要な、各単語をバック反転
        文字を [] = C str.toCharArray();
         // フリップ文字列全体 
        リバース(C、0、 。c.length - 1 );
         int型スタート= 0 ;
         int型エンド。
        // スプリットワード
        のためintは I ++; I <c.length I = 0 ){
             IF( - 1 C [I] == '' || I c.length == ){
                 // ワードポインタの終了が終了していません前方に移動させる必要
                IF(C [I] == '' ){ 
                    エンド = I - 1 ; 
                } { 
                    エンド = I; 
                } 
                リバース(C、開始、終了); 
                スタート = I + 1 ; 
            } 
        } 
        文字列S = String.valueOf(C);
         リターンS; 
    } 

    パブリック 静的 ボイド逆(CHAR [] C、int型開始、int型エンド){ 

        ながら(<開始{端)
             チャー TEMP = C [スタート]。
            C [スタート] = C [終了]を。
            C [END] = TEMP。
            開始 ++ ; 
            エンド - ; 
        } 

    } 

}

おすすめ

転載: www.cnblogs.com/guoyu1/p/12212431.html