java笔试中字符串翻转的几种方法
来源:互联网 发布:阿里云服务器增加磁盘 编辑:程序博客网 时间:2024/06/07 19:37
1.调用reversel()方法实现翻转
public static String reversel1(String str){ return new StringBuffer(str).reverse().toString();}通过new一个新的StringBuffer调用自带方法
2.通过字符串数组实现从尾部开始逐个逆序放入字符串中
public static String reverse2(String s){ char[] array = s.toCharArray(); //String转字符数组 String reverse = ""; //注意这是空串,不是null for (int i = array.length - 1; i >= 0; i--){ reverse += array[i]; // 即String="reverse", // 放入时会"r";"e";"v";"e";"r";"s";"e";的放入String.charAt(String.charAt(length--)) } return reverse;}
3.通过字符串数组实现从头部开始逐个正序放入字符串中
public static String reverse3(String s){ int length = s.length(); String reverse = ""; //注意这是空串,不是null for (int i = 0; i < length; i++){ reverse = s.charAt(i) + reverse;//在字符串前面连接, 而非常见的后面 //即String="reverse", // 放入时会"e";"s";"r";"e";"v";"e";"r";的放入String。charAt(i++) //从尾到头正序放入 } return reverse;}
4.C语言中常用的方法:
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); //知道 char数组和String相互转化}
以上四种转自
http://blog.sina.com.cn/s/blog_a5ef63c701013dw8.html
5.利用栈的先入后出的特性实现字符串的逆转
public static String reverse5(String string) { StringBuffer sb = new StringBuffer(); Stack<Character> s = new Stack<Character>(); for (int i = 0; i < string.length(); i++) { s.add(string.charAt(i)); } for (int i = 0; i < string.length(); i++) { sb.append(s.pop()); } return sb.toString();}
6.通过二位进制的右移,也就是/2,实现。与方法4异曲同工
public static String reverse6(String string) { StringBuffer sb = new StringBuffer(string); for (int i = 0, j = sb.length() - 1; i < sb.length() >>> 1; i++, j--) { char temp = sb.charAt(i); sb.setCharAt(i, sb.charAt(j)); sb.setCharAt(j, temp); } return sb.toString();}以上两种转自
http://blog.csdn.NET/hhxin635612026/article/details/26944053
import java.util.Scanner;import java.util.Stack;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.nextLine(); //逆序翻转 System.out.println(reverse1(str)); } } public static String reverse1(String str){ return new StringBuffer(str).reverse().toString(); } public static String reverse2(String s) { char[] array = s.toCharArray(); //String转字符数组 String reverse = ""; //注意这是空串,不是null for (int i = array.length - 1; i >= 0; i--){ reverse += array[i]; // 即String="reverse", // 放入时会"r";"e";"v";"e";"r";"s";"e";的放入String.charAt(String.charAt(length--)) } return reverse; } public static String reverse3(String s) { int length = s.length(); String reverse = ""; //注意这是空串,不是null for (int i = 0; i < length; i++){ reverse = s.charAt(i) + reverse;//在字符串前面连接, 而非常见的后面 //即String="reverse", // 放入时会"e";"s";"r";"e";"v";"e";"r";的放入String。charAt(i++) //从尾到头正序放入 } return reverse; } public static String reverse4(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); //知道 char数组和String相互转化 } public static String reverse5(String string) { StringBuffer sb = new StringBuffer(); Stack<Character> s = new Stack<Character>(); //new一个栈 for (int i = 0; i < string.length(); i++) { s.add(string.charAt(i)); //往栈中逐个正序放入字符型string.charAt(i++); } for (int i = 0; i < string.length(); i++) { sb.append(s.pop()); //栈取出的顺序与放入的顺序相反,所以实现逆序 //length=string.length(); // 逐个增加string.charAt(length--); } return sb.toString(); } public static String reverse6(String string) { StringBuffer sb = new StringBuffer(string); for (int i = 0, j = sb.length() - 1; i < sb.length() >>> 1; i++, j--) { char temp = sb.charAt(i); sb.setCharAt(i, sb.charAt(j)); sb.setCharAt(j, temp); } return sb.toString(); } public static String reverse7(String string) { StringBuffer sb = new StringBuffer(); for (int i = string.length() - 1; i >= 0; i--) { sb.append(string.charAt(i)); } return sb.toString(); }}
阅读全文
0 0
- java笔试中字符串翻转的几种方法
- java笔试中字符串翻转的几种方法(java---华为----字符逆序)
- 对字符串翻转的几种方法
- 关于字符串翻转的几种方法
- Java笔试之几种字符串逆序的方法
- Java中去除字符串中空格的几种方法
- Java中去除字符串中空格的几种方法
- Java字符串中去掉空格的几种方法
- Java:去除字符串中空格的几种方法
- 关于java中字符串反转的几种方法
- [Java]去掉字符串中空格的几种方法
- Java:去除字符串中空格的几种方法
- JAVA中几种字符串翻转的方法
- 字符串翻转的方法
- 字符串单词翻转总结几种常见方法
- JAVA用标准库自己写一个字符串翻转方法,翻转字符串中字母非单词
- 翻转字符串的两种方法
- 字符串翻转的两种方法
- echarts常用设置
- eclipse中创建带有父子结构的项目
- EventBus3.0使用
- BigInteger类
- vue 1.x 组件数据传递
- java笔试中字符串翻转的几种方法
- App Store支持微信支付,去年接入支付宝
- neural networks deep learning Deep Neural Network Application Homework
- Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
- 第二个Java程序,用“*”直接输出三角形。
- SQL Navigator 6.7 (bulldba.com)
- 多校9 HDU-6164 Dying Light 几何数学
- Hive创建、删除数据库
- BZOJ1004 Cards