【字符串反转总结】Java中七种方法实现
生活随笔
收集整理的這篇文章主要介紹了
【字符串反转总结】Java中七种方法实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法比較簡單,注釋就能說明問題,直接上代碼!
方法一:(利用遞歸實現)
public static String reverse1(String s) {int length = s.length();if (length <= 1)return s;String left = s.substring(0, length / 2);String right = s.substring(length / 2, length);return reverse1(right) + reverse1(left); //調用遞歸}
public static String reverse2(String s) {int length = s.length();String reverse = "";for (int i = 0; i < length; i++)reverse = s.charAt(i) + reverse;return reverse;}
方法三:(利用數組,倒序輸出) public static String reverse3(String s) {char[] array = s.toCharArray();String reverse = "";for (int i = array.length - 1; i >= 0; i--)reverse += array[i];return reverse;}
方法四:(利用StringBuffer的內置reverse方法) public static String reverse4(String s) {return new StringBuffer(s).reverse().toString();}
方法五:(利用臨時變量,交換兩頭數值) public static String reverse5(String orig) {char[] s = orig.toCharArray();int n = s.length - 1;int halfLength = n / 2;for (int i = 0; i <= halfLength; i++) {char temp = s[i];s[i] = s[n - i];s[n - i] = temp;}return new String(s);}
方法六:(利用位異或操作,交換兩頭數據) 具體交換原理,參考上一篇文章 public static String reverse6(String s) {char[] str = s.toCharArray();int begin = 0;int end = s.length() - 1;while (begin < end) {str[begin] = (char) (str[begin] ^ str[end]);str[end] = (char) (str[begin] ^ str[end]);str[begin] = (char) (str[end] ^ str[begin]);begin++;end--;}return new String(str);}
總結
以上是生活随笔為你收集整理的【字符串反转总结】Java中七种方法实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【异或交换原理】按位进行异或操作,实现数
- 下一篇: java美元兑换,(Java实现) 美元