字符串反转实现:
实现思路:
利用一个中间变量来实现数据的交换
利用数字的下标来指定交换位置
比如:
需要反转 abcd
则是:
a和d交换
b和c交换
package cn.algorithm;
import java.util.Arrays;
/**
* @author Duoduo
* @version 1.0
* @date 2017/4/13 19:32
*/
public class StringReversal {
/**
* 字符串反转实现
* @param data
* @param from
* @param to
*/
public static void revesalString(char[] data, int from, int to) {
while (from < to) {
char tmp = data[from];
data[from++] = data[to];
data[to--] = tmp;
}
}
public static String revesalString(String data, int from, int to) {
char charData[] = data.toCharArray();
revesalString(charData, from, to);
return String.valueOf(charData);
}
public static void main(String[] args) {
char data[] = {'a', 'b', 'c', 'd', 'e', 'f'};
revesalString(data, 0, 2);
revesalString(data, 3, 5);
System.out.println(Arrays.toString(data));
System.out.println("=======================");
String strData = "I am a student .";
strData = revesalString(strData, 0, strData.length()-1);
System.out.println(strData);
}
}