本帖最后由 追逐 于 2014-3-21 19:33 编辑
/*
需求:把一个字符串进行反转
思路:1.把字符串变成字符数组
2.把字符数组反转
3.把字符数组变成字符串
*/
- class FanZhuanTest
- {
- public static void main(String[] args)
- {
- String s = "abcdefghijklmn";
- String s1 = FanZhuanTest.reverseString(s);
- System.out.println(s);
- System.out.println(s1);
- }
-
- //定义一个函数对字符串进行反转
- public static String reverseString(String str, int start, int end)
- {
- char[] chs = str.toCharArray(); //将字符串变成字符数组
- reverse(chs, start, end); //调用将字符串数组反转的函数。并规定反转字符串的头和尾
- return new String(chs); //用String类的构造函数。将字符数组变成字符串
- }
- //定义一个只有一个参数的字符串反转函数
- public static String reverseString(String str)
- {
- return reverseString(str, 0, str.length());
- }
- //定义字符串反转的函数
- private static void reverse(char[] arr, int start, int end)
- {
- for(int i = start, j = end - 1; i < j; i++, j--)
- {
- swap(arr, i, j); //运用swap函数将字符数组中的指定位置的字符反转
- }
- }
- //定义一个将字符调换的函数
- private static void swap(char[] chs, int start, int end)
- {
- char temp = chs[start];
- chs[start] = chs[end];
- chs[end] = temp;
- }
- }
复制代码
|
|