다음은 Java에서 5에서 String 반전을 구현하는 방법입니다.
1. 배열은 문자열 반전을 구현합니다
// 배열 구현 문자열 반전 공개 문자열 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] = 온도; } 새 문자열 (ch)을 반환합니다. }2. 문자열 반전이 구현됩니다
// 스택을 사용하여 문자열 반전 공개 문자열 reversebystack () {if (str == null || str.length () == 1) {return null; } 스택 <문자> 스택 = 새 스택 <문자> (); char [] ch = str.tochararray (); // 문자열을 (char c : ch) {stack.push (c); // 각 문자, 스택을 누르십시오} (int i = 0; i <ch.length; i ++) {ch [i] = stack.pop (); //이 스택의 상단 개체를 제거합니다. } 3. 스트링 역전을 실현하기위한 역전선
// 리버스 트래버살을 사용하여 문자열 반전 공개 문자열 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를 사용하여 오른쪽에서 왼쪽으로 문자를 스플 라이스 문자로 사용합니다} sb.toString ()을 반환합니다. } 4. 비트 작동은 문자열 반전을 실현합니다
// 문자열 반전을 구현하기 위해 비트 조작을 사용하여 공개 문자열 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]; } 새 문자열 (ch)을 반환합니다. } 5. 재귀 적으로 문자열 반전을 구현합니다
// 재귀를 사용하여 문자열 반전 공개 문자열 reversebyRecursive (string str) {if (str == null || str.length () == 0) {return null; } if (str.length () == 1) {return str; } else {// 1의 위시에서 문자열을 삭제합니다. return ReverseByRecursive (str.substring (1)) + str.charat (0); }} VI. 시험
공개 클래스 테스트 {public static void main (String [] args) {문자열 s = "123456"; 리버스 r = 새로운 반전; 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. 문자열 반전에 사용되는 모든 코드
공개 클래스 리버스 {private String str = null; public reverse (string str) {this.str = str; } // 배열 구현 문자열 리버스 공개 문자열 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] = 온도; } 새 문자열 (ch)을 반환합니다. } // 스택을 사용하여 문자열 반전 공개 문자열 reversebystack () {if (str == null || str.length () == 1) {return null; } 스택 <문자> 스택 = 새 스택 <문자> (); char [] ch = str.tochararray (); // 문자열을 (char c : ch) {stack.push (c); // 각 문자, 스택을 누르십시오} (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를 사용하여 오른쪽에서 왼쪽으로 문자를 스플 라이스 문자로 사용합니다} sb.toString ()을 반환합니다. } // 비트 작업을 사용하여 문자열 반전 공개 문자열 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]; } 새 문자열 (ch)을 반환합니다. } // 재귀를 사용하여 문자열 reversebyRecursive (string str) {if (str == null || str.length () == 0) {return null; } if (str.length () == 1) {return str; } else {// 1의 위시에서 문자열을 삭제합니다. return ReverseByRecursive (str.substring (1)) + str.charat (0); }}}Java에서 문자열 반전을 구현하는 위의 5 가지 방법은 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.