美文网首页
小算法-如何递归实现String的reverse

小算法-如何递归实现String的reverse

作者: Gilegamesh | 来源:发表于2020-09-08 17:46 被阅读0次

    需求:

    Array(H, e, l, l, o)  ==》 Array[Char] = Array(o, l, l, e, H)

    递归实现。

    看似很简单的算法问题,但是在没有任何思考的前提下手撸代码的成功率也是很低的。

    既然这是java本身就提供的操作,那不妨去看下jdk是如何实现的。

    jdk1.8-java.lang.AbstractStringBuilder

    其实就是for循环把数组第一个元素跟最后一个元素对调,以此类推。(n-1) >> 1表示循环数组长度的一半大小。

    //TODO

    For example, reversing

        * "\u005CuDC00\u005CuD800" produces "\u005CuD800\u005CuDC00" which is

        * a valid surrogate pair.  这个注释目前还没搞懂什么意思。

    那我们就把for循环改成递归调用吧!

    scala

    OK。

    相关文章

      网友评论

          本文标题:小算法-如何递归实现String的reverse

          本文链接:https://www.haomeiwen.com/subject/gedjektx.html