首页 > 其他 > 详细

字符串反转

时间:2017-06-01 19:04:54      阅读:192      评论:0      收藏:0      [点我收藏+]

本片文章简单介绍一下,jdk 对字符反转的实现。

AbstractStringBuilder.reverse() 详细的实现在这个类中。

 public AbstractStringBuilder reverse() {
        boolean hasSurrogates = false;
        int n = count - 1;
        for (int j = (n-1) >> 1; j >= 0; j--) {
            int k = n - j;
            char cj = value[j];
            char ck = value[k];
            value[j] = ck;
            value[k] = cj;
            if (Character.isSurrogate(cj) ||
                Character.isSurrogate(ck)) {
                hasSurrogates = true;
            }
        }
        if (hasSurrogates) {
            reverseAllValidSurrogatePairs();
        }
        return this;
    }

总体思路就是二分法,互换对称位置的字符。

字符串反转

原文:http://www.cnblogs.com/qunan/p/6930277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!