package basic;
import java.util.Arrays;
public class ResverseString {
/**
* @param args
*/
public static void main(String[] args) {
//ResverseString.stringtest();
String originalString = "i love you";
reverseString (originalString);
System.out.println("");
int[] a = { 1, 2, 6,7, 4, 5 };
reverse(a, 0, a.length - 1);
System.out.println(Arrays.toString(a));
}
/**
* 完全颠倒一个字符串
* i love you 变成 uoy evol i
* @param str
*/
public static void reverseString (String str){
if (str.length() == 1){
System.out.print(str);
}
else{
String subString1 = str.substring(0, str.length()-1); //subStirng1就是originalString 截去最后一个字母
String subString2 = str.substring(str.length()-1); //截取最后一个字母
System.out.print(subString2);//把最后一个字母 打印出来
reverseString (subString1);
}
}
public static void stringtest(){
String o = "i love you";
System.out.println(o.length());
String subString1 = o.substring(0, o.length()-1);
System.out.println(subString1);
String subString2 = o.substring( o.length()-1);
System.out.println(subString2);
}
/**
* 数组按照中间的位置进行交换
* { 1, 2, 6,7, 4, 5 };变成[5, 4, 7, 6, 2, 1]
* @param a
* @param left
* @param right
*/
public static void reverse(int[] a, int left, int right) {
if (left >= right){
return;
}
//第一个 跟倒数第一个交换
int temp=a[left];
a[left]=a[right];
a[right]=temp;
reverse(a,++left,--right);
}
}