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

乘除的最基本实现还是来源于移位操作。
     public String reverse(String src) {
char[] value = src.toCharArray();
int count = value.length;
int n = count - 1;
for (int j = (n - 1) >> 1; j >= 0; j--) {
char tmp = value[j];
char tmp2 = value[n - j];
value[j] = tmp2;
value[n - j] = tmp;
}
return new String(value);
}
Java字符串反转有2个已经实现的类函数: StringBuffer、StringBuilder类的函数reverse() 。
其中源码的实现如下,核心的思想是替换原则:

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

最新文章

  1. 从java文件和CS文件里查询方法使用次数工具
  2. Linux不重启的情况下添加硬盘
  3. PO/VO/BO等对象模型
  4. 30 个最棒的 jQuery 的拖放插件
  5. SQL经典题-实战
  6. logcat使用
  7. Ajax属性和函数以及 返回值之XML格式和文本格式(二)
  8. protected 学习
  9. mysql字符集问题 错误代码: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_croatian_ci,IMPLICIT) for operation '='
  10. Creating a ROS msg and srv
  11. 第六节,Python的科学计算包——Numpy
  12. C-fopen,fwrite,fread,fseek,fgets,popen,access笔记
  13. Eclipse预编译的include路径与宏定义
  14. arguments.callee用法
  15. Node.js 下载路径/微软产品下载路径
  16. Openssl自建CA
  17. 抽取JDBCTemplate
  18. Linux命令-权限管理命令:umask
  19. Prism(WPF) 拐着尝试入门
  20. ie8下面版本号(包含ie8)的浏览器不支持html5标签属性解决方式(Modernizr 2.6.2插件的使用)

热门文章

  1. Android开发之显示进度对话框
  2. Linux下搭建Oracle11g RAC(3)----创建用户及配置相关文件
  3. 项目打包 weblogic部署
  4. Gym 100187B-A Lot of Joy
  5. PHP负载均衡
  6. JQM 页面滚动加载
  7. 网页Gzip
  8. Jsp内置对象-session
  9. fmt:formatDate标签的输出格式
  10. angular 基础练习