• 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+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

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

  • 相关阅读:
    sql_mode=only_full_group_by引起group by查询报错问题
    在Eclipse下使用ant,build项目报jpeg does not exist
    JAVAEE面试之Hibernate缓存
    页面加载中效果实现
    鼠标滑过显示图片
    VSFTP配置参数详解
    FTP上传核心方法
    java对File的特殊操作
    在mybatis下使用日期比对出错
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/xiaochuan94/p/10140058.html
Copyright © 2020-2023  润新知