Javaの5に文字列反転を実装する方法は次のとおりです。
1.配列は文字列反転を実装します
// arrayを実装する文字列反転public string reversebyarray(){if(str == null || str.length()== 1){return null; } char [] ch = str.tochararray(); //文字列を文字列配列に変換します(int i = 0; i <ch.length/2; i ++){char temp = ch [i]; ch [i] = ch [ch.length-i-1]; ch [ch.length-i-1] = temp; } new String(ch)を返します。 }2。弦の反転が実装されています
//スタックを使用して文字列Inversion public string reversebystack(){if(str == null || str.length()== 1){return null; } stack <character> stack = new stack <character>(); char [] ch = str.tochararray(); //文字列を文字配列の文字配列に変換する(char c:ch){stack.push(c); //各文字、stackを押し、int i = 0; i <ch.length; i ++){ch [i] = stack.pop(); } 3。逆トラバーサル弦の反転を実現します
//逆トラバーサルを使用して文字列逆転public string reversebysort(){if(str == null || str.length()== 1){return null; } stringbuffer sb = new StringBuffer(); for(int i = str.length()-1; i> = 0; i--){sb.Append(str.Charat(i)); // stringbufferを使用して右から左にスプライスされます} return sb.toString(); } 4。ビット操作は、文字列の反転を実現します
//ビット操作を使用して文字列逆転public string reversebybit(){if(str == null || str.length()== 1){return null; } char [] ch = str.tochararray(); //文字列を文字配列に変換するint len = str.length(); for(int i = 0; i <len/ 2; i ++){ch [i]^= ch [len- 1- i]; ch [len-1- i]^= ch [i]; ch [i]^= ch [len- 1- i]; } new String(ch)を返します。 } 5。弦の反転を再帰的に実装します
//再帰を使用して、文字列反転パブリックストリングリバースバイレクルーシブ(string str){if(str == null || str.length()== 0){return null; } if(str.length()== 1){return str; } else {// 1のsubscriptから文字列をseave、runter reversebyRecursive(str.substring(1)) + str.Charat(0); }} vi。テスト
public class test {public static void main(string [] args){string s = "123456";逆r = new Reverse(s); System.out.println(r.ReverseByArray()); System.out.println(r.ReverseByStack()); System.out.println(r.ReverseBySort()); System.out.println(r.ReverseBybit()); System.out.println(R.ReverseByRecursive(s)); }}7。結果
8。弦の反転に使用されるすべてのコード
public class Reverse {private string str = null; public Reverse(string str){this.str = str; } //配列実装文字列reverse public string reversebyarray(){if(str == null || str.length()== 1){return null; } char [] ch = str.tochararray(); //文字列を文字列配列に変換する(int i = 0; i <ch.length/2; i ++){char temp = ch [i]; ch [i] = ch [ch.length-i-1]; ch [ch.length-i-1] = temp; } new String(ch)を返します。 } //スタックを使用してstring inversion public string reversebystack(){if(str == null || str.length()== 1){return null; } stack <character> stack = new stack <character>(); char [] ch = str.tochararray(); //文字列を文字配列の文字配列に変換する(char c:ch){stack.push(c); //各文字、stackを押し、int i = 0; i <ch.length; i ++){ch [i] = stack.pop(); } //逆トラバーサルを使用して文字列反転パブリックストリングreverseBysort(){if(str == null || str.length()== 1){return null; } stringbuffer sb = new StringBuffer(); for(int i = str.length()-1; i> = 0; i--){sb.Append(str.Charat(i)); // stringbufferを使用して右から左にスプライスされます} return sb.toString(); } //ビット操作を使用して文字列逆転public string reversebybit(){if(str == null || str.length()== 1){return null; } char [] ch = str.tochararray(); //文字列を文字配列に変換するint len = str.length(); for(int i = 0; i <len/ 2; i ++){ch [i]^= ch [len- 1- i]; ch [len-1- i]^= ch [i]; ch [i]^= ch [len- 1- i]; } new String(ch)を返します。 } //再帰を使用して文字列ReverseByRecursive(string str){if(str == null || str.length()== 0){return null; } if(str.length()== 1){return str; } else {// 1のsubscriptから文字列をseave、runter reversebyRecursive(str.substring(1)) + str.Charat(0); }}}Javaに文字列反転を実装する上記の5つの方法は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。