替换原则: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与字符编码有关系,这个东东暂时没有研究。

Java实现字符串反转的更多相关文章

  1. JAVA实现字符串反转,借助字符数组实现

    public static String reverseStr(String str) { int len = str.length(); char ch[] = str.toCharArray(); ...

  2. Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转

    ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转  Java 实例 以下实例演示了如何使用 J ...

  3. Java实现字符串反转的8种方法

    /** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...

  4. JAVA:字符串反转

    import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Lis ...

  5. Java 实现字符串反转

    方法一: public class StringReverse { public void swap(char[] arr, int begin, int end) { while(begin < ...

  6. Java将字符串反转的7种方法

    /方法1 递归方法 public static String reverse1(String s) { int length = s.length(); if(length <= 1){ ret ...

  7. java练习 - 字符串反转

    思路: 1. 首先将字符串转换成数组,一个数组元素放一个字符. 2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和最后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符 ...

  8. java实现字符串反转(原作有点错误,需要看下评论)

    http://blog.csdn.net/shenshen123jun/article/details/9104025

  9. Java实现字符串反转【Leetcode】

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

随机推荐

  1. 编译安装 php 5.4.11

    第一步 先下载 tzr.gz 的php源码包然后 tar zxvf  php-5.4.11.tar.gz然后 cd php-5.4.11 然后复制如下编译代码 ./configure \--prefi ...

  2. linux find grep使用

    在当前目录下所有文件中查找内容包含 string 的文件: find ./ -name "*" -exec grep "string" {} \; 注意:在最后 ...

  3. VS2010 Web项目需要缺少的Web组件才能加载

    用记事本打开 .csproj 文件,找到<UseIIS>True</UseIIS>改为<UseIIS>False</UseIIS> ,重新加载项目即可.

  4. favicon.ico显示,favicon显示,favicon图标显示

    favicon.ico显示,favicon显示,favicon图标显示 >>>>>>>>>>>>>>>> ...

  5. 【原创教程】一、Angular教程系列之认识angular

    为什么我会准备写这个原创教程系列? 写下这个标题之后,看着屏幕上空白的内容区,不知从何下手,想说的似乎有很多,似乎又没啥说的.有时候就会陷入这种矛盾中,有时候就是这样,于是,我下定决心这一次一定要把这 ...

  6. TCP的服务流程

    TCP协议提供的是可靠的.面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程.TCP提供端到端.全双工通信:采用字节流方式,如果字节流太长,将其分段:提供紧急 ...

  7. JS一些应用脚本

    脚本一: //重置下标(可以修改成自己所需要的脚本) function ReSetBoxOrder() { var q = 0;//下标值 var a = 0;//暂未用到 //循环当前tbody下的 ...

  8. 懒人神器之T4模板

    最近遇到一个比较令人烦躁的问题,特别是对于我等懒癌末期者.实在难以忍受!具体问题是这样,这个项目是一个新的项目.使用EF框架来开发,那么在搭建架构时,当我们新加一个Entity时,就需要在每个层级添加 ...

  9. Hibernate session flush

    最近做项目时,用到了hibernnate,批量删除10000条数据时,删除时前台将id传到后台,用in匹配去删除,页面直接卡死. 解决方法,将传过来的10000条id分批删除,每删除五百条后,调用ge ...

  10. 2D动态光照

    对场景内所有点发出射线, 如果射线被某条边阻挡, 则射线停留在阻挡的边上, 如果射线顺利抵达终点, 则对射线偏移-0.001, +0.001角度, 再射出2条射线, 停留在后续的阻挡边上. 把最终的射 ...