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

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

  • 相关阅读:
    海量数据查询关系型数据库存储大数据,要点就是:简单存储、分区分表、高效索引、批量写入
    微服务架构
    多租户系统架构
    SaaS模式实现架构
    net Core 2.1新功能Generic Host(通用主机)
    深度学习与机器学习
    RabbitMQ和Kafka
    为什么使用框架
    迅雷在P2P网络中的另类上传速度
    Spring配置中的"classpath:"与"classpath*:"的区别研究(转)
  • 原文地址:https://www.cnblogs.com/xiaochuan94/p/10140058.html
Copyright © 2020-2023  润新知