当前位置: 首页 > article >正文

【LeetCode: 344. 反转字符串 | 双指针模拟】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 双指针模拟
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 344. 反转字符串

⛲ 题目描述

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

示例 1:

输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]
示例 2:

输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]

提示:

1 <= s.length <= 105
s[i] 都是 ASCII 码表中的可打印字符

🌟 求解思路&实现代码&运行结果


⚡ 双指针模拟

🥦 求解思路
  1. 该题通过俩个双指针在数组上反转字符串即可。
  2. 具体实现代码如下所示:
🥦 实现代码
class Solution {
    public void reverseString(char[] s) {
        int n = s.length / 2;
        int i = 0, j = s.length - 1;
        while (n-- > 0) {
            char c = s[i];
            s[i] = s[j];
            s[j] = c;
            i++;
            j--;
        }
    }
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/news/340499.html

相关文章:

  • Golang 进阶1 —— 面向对象
  • 图的最短路径算法
  • threads_created增加过大?
  • TLS 加密的原理和过程
  • C++实现字符串 trim,C++实现字符串split, C++如何分割字符串为数组,C++如何去除字符串两边的空格
  • (笔记)第三期书生·浦语大模型实战营(十一卷王场)–书生基础岛第3关---浦语提示词工程实践
  • 如何使用pymysql和psycopg2执行SQL语句
  • 使用XML实现MyBatis的基础操作
  • pandas的用法
  • Github界面学习
  • C++ 函数重载
  • 手动更换SSL证书教程及注意事项
  • 【论文阅读】AUTOREGRESSIVE ACTION SEQUENCE LEARNING FOR ROBOTIC MANIPULATION
  • 接着上一篇stp 实验继续
  • Http 协议和 RPC 协议有什么区别?
  • OpenAI .NET 库稳定版发布,支持 GPT-4o 并改进 API 功能
  • 逼近理论及应用精解【9】
  • 【优选算法】(第三十篇)
  • 详解JavaScript作为命名空间的函数
  • 腾讯云SDK项目管理