zoukankan      html  css  js  c++  java
  • LeetCode算法题-Reverse String(Java实现)

    这是悦乐书的第205次更新,第217篇原创

    01 看题和准备

    今天介绍的是LeetCode算法题中Easy级别的第73题(顺位题号是344)。编写一个以字符串作为输入并返回字符串的函数。例如:

    输入:“hello”
    输出:“olleh”

    输入:“A man, a plan, a canal: Panama”
    输出:“amanaP: lanac a, nalp a, nam A”

    本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

    02 第一种解法

    直接借助StringBuilder类的reverse方法,将原字符串反转。

    public String reverseString(String s) {
        StringBuilder sb = new StringBuilder(s);
        return sb.reverse().toString();
    }
    

    03 第二种解法

    使用双指针,一个从0开始,一个从字符串尾部开始,利用循环,进行首尾字符互换。

    public String reverseString2(String s) {
        if (s == null || s.trim().length() <= 1) {
            return s;
        }
        int i = 0;
        int j = s.length()-1;
        char[] ch = s.toCharArray();
        while (i < j) {
            char temp = ch[i];
            ch[i] = ch[j];
            ch[j] = temp;
            i++;
            j--;
        }
        return new String(ch);
    }
    

    04 小结

    算法专题目前已连续日更超过两个月,算法题文章73+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

    以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

  • 相关阅读:
    PHP实现---汉字简体繁体转换
    js对象中的回调函数
    常用js正则
    复合sql
    恢复和去掉所有表约束
    小心as"陷阱"(c#)
    由“js跨域”想到"AJAX也不一定要XMLHttpRequest"
    jsonp与跨域
    关于js的string的3个函数slice,substring,substr对比
    英语etc怎么发音、单词来历
  • 原文地址:https://www.cnblogs.com/xiaochuan94/p/10140058.html
Copyright © 2011-2022 走看看