Java实现字符串反转

替换原则:index k 的值和 n-k 的值进行交换。(始终记住程序员的n、k都是字符串的实际位置。)

乘除的最基本实现还是来源于 移位操作。
 1     public String reverse(String src) {

 2         char[] value = src.toCharArray();

 3         int count = value.length;

 4         int n = count - 1;

 5         for (int j = (n - 1) >> 1; j >= 0; j--) {

 6             char tmp = value[j];

 7             char tmp2 = value[n - j];

 8             value[j] = tmp2;

 9             value[n - j] = tmp;

10         }

11         return new String(value);

12     }

 

Java字符串反转有2个已经实现的类函数: StringBuffer、StringBuilder类的函数reverse() 。
Java实现字符串反转
其中源码的实现如下,核心的思想是替换原则:
View Code

其中的hasSurrogate与字符编码有关系,这个东东暂时没有研究。

你可能感兴趣的:(java实现)