字符串反转,单词反转
2016-12-12 18:37
369 查看
一、字符串反转,共搜集了 7 种方法
网上还有一些其他方法,比如利用栈的“后进先出”的特性。等等。
二、单词反转
package reverse;
public class WordsReversed {
public static void main(String[] args) {
String s = "one two three four five six seven eight nine ten";
System.out.println("原句子:" + s.toString());
System.out.println("反转后:" + reverse(s));
}
private static String reverse(String s) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer();
String[] words = s.split(" ");
for(int i = words.length - 1; i >= 0; i--) {
sb.append(words[i]).append(" ");
}
return sb.toString();
}
}
单词的反转也有很多方法,比如可以用首尾交换的方法实现
public class StringReversed { public static void main(String[] args) { String s = "abcd,efgh"; System.out.println("原字符:" + s); System.out.println("反转后:" + reverse2(s)); reverse1(s); } public static void reverse1(String s) { //方法一 /* char[] c = new char[s.length()]; for(int j = 0, i = s.length() - 1; i >= 0; i--) { c[j++] = s.charAt(i); }*/ char[] c = s.toCharArray(); //方法二 for(int i = 0; i < s.length() / 2; i++) { char temp = c[i]; c[i] = c[s.length() - 1 - i]; c[s.length() - 1 - i] = temp; } for(char l: c) System.out.print(l); } public static String reverse2(String s) { // return new StringBuffer(s).reverse().toString(); //方法三 // return new StringBuilder(s).reverse().toString(); //方法四 /* StringBuffer sb = new StringBuffer(); //方法五 for(int i = s.length() - 1; i >= 0; i--) { sb = sb.append(s.substring(i, i + 1)); } return sb.toString();*/ /* int len = s.length(); //方法六 if (len <= 1) { return s; } else { String left = s.substring(0, len / 2); String right = s.substring(len / 2, len); return reverse(right) + reverse(left); }*/ String result = ""; //方法七 for(int i = s.length() - 1; i >= 0; i--) { String temp = s.substring(i, i + 1); result += temp; } return result; } }
网上还有一些其他方法,比如利用栈的“后进先出”的特性。等等。
二、单词反转
package reverse;
public class WordsReversed {
public static void main(String[] args) {
String s = "one two three four five six seven eight nine ten";
System.out.println("原句子:" + s.toString());
System.out.println("反转后:" + reverse(s));
}
private static String reverse(String s) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer();
String[] words = s.split(" ");
for(int i = words.length - 1; i >= 0; i--) {
sb.append(words[i]).append(" ");
}
return sb.toString();
}
}
单词的反转也有很多方法,比如可以用首尾交换的方法实现
相关文章推荐
- Apache curator-client详解
- CSRF跨站点请求伪造漏洞问题
- Sanic 连接postgresql数据库
- Linux查看进程打开多少文件描述符命令-lsof
- java 缓冲
- 如何组建测试团队?
- 敏感字符串加密处理(PHP实现)
- java字典序全排列
- 循序渐进Python3(十一) --6-- Ajax 实现跨域请求 jsonp 和 cors
- Web测试点 转
- 【Xilinx-Petalinux学习】-04-OpenCV的移植
- 工作总结
- Linux下tmp目录删除规则
- 循序渐进Python3(十一) --5-- 同源策略
- 打开子页面及刷新父页面 window.open window.opener.reload()
- EL(expression language)
- python线程锁
- gulp入坑系列(2)——初试JS代码合并与压缩
- MySQL事务隔离级别详解
- java字典序排序