字符串反转
Posted 鹊南
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串反转相关的知识,希望对你有一定的参考价值。
本片文章简单介绍一下,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; }
总体思路就是二分法,互换对称位置的字符。
以上是关于字符串反转的主要内容,如果未能解决你的问题,请参考以下文章
使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化
2022&2023华为OD机试 - 单词反转 2(Python)