对于字符串逆转,有两种不同的理解:
- 字符全部颠倒 abc ——> cba -语句颠倒
字符不发生变化 I Love Java ——> Java Love I
理所当然解决的思路也不同
- abc ——> cba
//1.1 常规方法
public void reverse1(String content) {
String newStr = "";
char ofStr;
for (int i = content.length() - 1; i >= 0; i--) {
ofStr = content.charAt(i);
newStr += ofStr;
}
System.out.println(newStr);
}
//1.2 jdk自带
private static void reverse2(String content) {
String newStr = new StringBuffer(content).reverse().toString();
System.out.println(newStr);
}
//1.3 C语言常用方法 char数组和String相互转化
private static void reverse3(String content) {
char[] s = content.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;
}
System.out.println(new String(s));
}
- I Love Java ——> Java Love I
//2.1
private static void reverse4(String content) {
String[] sArr = content.split(" ");//I love java
List<String> list = new ArrayList<String>();
/**
* 数组转List
* -当使用asList()方法时,数组就和列表链接在一起了.
* 当更新其中之一时,另一个将自动获得更新。
* 注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性
* -asList得到的数组是的没有add和remove方法的
*/
list = Arrays.asList(sArr);
// for(int i=0;i<sArr.length;i++){
// list.add(sArr[i]);
// }
//List集合倒序排列 sort正序
Collections.reverse(list);
for (String word : list) {
System.out.print(word + " ");
}
}
此处列出三种字符完全颠倒的解决方法以及一种字符串颠倒的解决方法,当然我相信方法绝对不止这么多,叹本人才疏学浅,如有错误遗漏的地方,欢迎大家指正指导,共同进步成长。
代码合集:https://github.com/FanceTsui/Project.git
——Fance Tsui