本帖最后由 LoveMyself 于 2015-5-24 01:21 编辑
- public class Reverse {
- /**
- * 将指定部分字符串反转 ||将数组全部反转
- * 实现步骤:1、将字符串转换为数组形式
- * 2、将数组元素反转
- * 3、将数组转换为字符串
- */
- public static void main(String[] args) {
- //声明创建字符串
- String str = "uoyevoli";
- //将给定字符串指定位置反转
- printMethod(reverseMethod(str, 0, 3));
- //将给定字符串全部反转
- printMethod(reverseMethod(str));
- }
- //将字符串指定位置反转
- private static String reverseMethod(String str,int start,int end) {
- //将字符串转换为数组
- char[] ch = str.toCharArray();
- //将数组反转
- reverse(ch,start,end);
- //将数组转换成字符串
- return new String(ch);
- }
- //将字符串全部反转
- public static String reverseMethod(String str)
- {
- //调用将数组指定位置反转的方法,改变反转的范围,即得到整体反转的方法
- return reverseMethod(str,0,str.length()-1);
- }
- private static void reverse(char[] ch, int x, int y) {
- for(int start=x,end =y-1;start < end;start++,end--)
- {
- //调用反转方法
- swap(ch,start,end);
- }
- }
- //每次交换字符位置达到反转的目的
- private static void swap(char[] ch, int start, int end) {
- char temp = ch[start];
- ch[start] = ch[end];
- ch[end]= temp;
-
- }
- //打印方法
- public static void printMethod(Object obj)
- {
- System.out.println(obj);
- }
- }
复制代码
其实,字符串的反转,就是将字符串中位置对称的元素互换位置,就好比是你在纸上写“你爱我”;然后,再将纸反过来从背面看变成“我爱你”是一样的! |
|