您好,登錄后才能下訂單哦!
這篇文章主要介紹了java字符串反轉的方法有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
public static String reverseTestOne(String s) { return new StringBuffer(s).reverse().toString(); }
public static String reverseTestTwo(String s) { char[] charArray = s.toCharArray(); int start = 0, end = charArray.length - 1; for (; start < end; start++, end--) { charArray[start] ^= charArray[end];//采用異或 charArray[end] ^= charArray[start]; charArray[start] ^= charArray[end]; } return new String(charArray); }
兩數交換除了用異或還能用其他方法,請移步不借助第三變量實現兩數交換
public static String reverseTestThree(String s) { StringBuffer sb = new StringBuffer(); for (int i = s.length() - 1; i >= 0; i--) { sb.append(s.charAt(i)); } return sb.toString(); }
public static String reverseTestFour(String s) { StringBuffer sb = new StringBuffer(); Stack stack = new Stack(); for (int i = 0; i < s.length(); i++) { stack.push(s.charAt(i)); } while (!stack.isEmpty()) { //stack會返回棧頂值,并且會把該值刪除 sb.append(stack.pop()); } return sb.toString(); }
public static String reverseTestFive(String s) { int start = 0; int end = s.length() - 1; char[] charArray = s.toCharArray(); while (start < end) { //交換首尾char值 char c = charArray[end]; charArray[end] = charArray[start]; charArray[start] = c; start++; end--; } return new String(charArray); }
public static String reverseTestSix(String s) { if (s.length() <= 1) { return s; } return reverseTestSix(s.substring(1)) + s.substring(0, 1); }
public static String reverseTestSeven(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 reverseTestSeven(right) + reverseTestSeven(left); }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“java字符串反轉的方法有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。