/*
练习二:将字符串反转
思路:
1 将字符串变成数组
2 对数组反转
3 将数组变成字符串
*/
class StringTest
{
public static void sop(String str)
{
System.out.println(str);
}
/*public static String reverseString(String s)
{
char[] chs=s.toCharArray();
//反转数组
reverse(chs);
return new String(chs);
}
*/
public static String reverseString(String s,int start,int end)
{
char[] chs=s.toCharArray();
//反转数组
reverse(chs,start,end);
return new String(chs);
}
private static void reverse(char[] arr,int x,int y)
{
for(int start=x,end=y-1;start<end;start++,end--)
{
swap(arr,start,end);
}
}
private static void swap(char[] arr,int x,int y)
{
char temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
public static void main(String[] args)
{
String s="adfds dsa ";
sop(s);
s=reverseString(s,1,3);
sop(s);
}
}
练习二:将字符串反转
思路:
1 将字符串变成数组
2 对数组反转
3 将数组变成字符串
*/
class StringTest
{
public static void sop(String str)
{
System.out.println(str);
}
/*public static String reverseString(String s)
{
char[] chs=s.toCharArray();
//反转数组
reverse(chs);
return new String(chs);
}
*/
public static String reverseString(String s,int start,int end)
{
char[] chs=s.toCharArray();
//反转数组
reverse(chs,start,end);
return new String(chs);
}
private static void reverse(char[] arr,int x,int y)
{
for(int start=x,end=y-1;start<end;start++,end--)
{
swap(arr,start,end);
}
}
private static void swap(char[] arr,int x,int y)
{
char temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
public static void main(String[] args)
{
String s="adfds dsa ";
sop(s);
s=reverseString(s,1,3);
sop(s);
}
}