实现思路: 利用一个中间变量来实现数据的交换 利用数字的下标来指定交换位置
比如: 需要反转 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); } }