黑马程序员技术交流社区
标题:
字符串反转示例
[打印本页]
作者:
追逐
时间:
2014-3-20 08:06
标题:
字符串反转示例
本帖最后由 追逐 于 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;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2