代码随想录--字符串-反转字符串

这篇具有很好参考价值的文章主要介绍了代码随想录--字符串-反转字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

示例 1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]文章来源地址https://www.toymoban.com/news/detail-708664.html

import java.util.Arrays;

public class Reverse {
    public char[] reverseString(char[] s) {
        int l = 0;
        int r = s.length - 1;
        while (l < r) {
            char temp = s[l];
            s[l] = s[r];
            s[r] = temp;
            l++;
            r--;
        }
        return s;
    }

    public static void main(String[] args) {
        char[] s =  {'h','e','l','l','o'};
        Reverse reverse = new Reverse();

        char[] res = reverse.reverseString(s);

        System.out.print(Arrays.toString(res));

    }
}

到了这里,关于代码随想录--字符串-反转字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码随想录 字符串 Java

    复杂度分析: 时间复杂度:O(N),其中N为字符数组的长度。一共执行了N/2次的交换 空间复杂度:O(1),只使用了常数空间来存放若干变量 我的思路:2k个字符为一组,先将前k个字符(或者不足k个字符)添加到StringBuilder中,然后调用reverse()方法,然后再将后k个字符(或者不足

    2024年02月06日
    浏览(28)
  • 代码随想录字符串专题复盘day15

    KMP算法 KMP算法的经典思想就是:当出现字符串不匹配的时候,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配 前缀表 next数组就是一个前缀表 前缀表是用来回退的,它记录了模式串与主串不匹配的时候,模式串应该从哪里开始重新匹配 前缀表的

    2024年01月20日
    浏览(33)
  • 代码随想录 Leetcode459. 重复的子字符串(KMP算法)

            此解法读者需要了解什么是KMP算法以及KMP算法中next数组的具体含义才能理解         因为在KMP算法的next数组中,next[index]表示 i ndex之前的最大长度的相同前缀后缀值 ,那么要判断整个字符串中是否由重复字串构成,只需要以下两个条件:         1.next[n - 1] !=

    2024年01月19日
    浏览(53)
  • 代码随想录 Leetcode1047. 删除字符串中的所有相邻重复项

            时间复杂度高         写完代码多思考怎么优化

    2024年01月22日
    浏览(35)
  • 代码随想录第五十六天——两个字符串的删除操作,编辑距离

    题目链接:两个字符串的删除操作 两个字符串可以相互删除 版本一: 确定dp数组及下标的含义 dp[i][j] :以i-1为结尾的字符串word1,和以j-1为结尾的字符串word2,想要达到相等,所需要删除元素的最少次数 确定递推公式 (1)当word1[i - 1] 与 word2[j - 1]相同: (2)当word1[i - 1] 与

    2024年02月02日
    浏览(27)
  • 代码随想录day9|实现strStr()、重复的子字符串

    一般的字符串匹配问题我们可以使用KMP算法来处理,当我们搜索文本串和模式串是否匹配的时候,我们先得到模式串的一个前缀表,其中前缀表中存放的内容是模式串的最长相等前后缀。例如文本串为:aabaabaafa,模式串为:aabaaf,那么文本串的前缀表就是010120。当我们开始搜

    2024年02月15日
    浏览(41)
  • 代码随想录打卡第56天|583. 两个字符串的删除操作;72. 编辑距离

    583. 两个字符串的删除操作 关键点1:dp数组的含义 dp[i][j],使得以i-1为结尾word1 和 以j-1为结尾的word2 相同所需的最小步数; 关键点2:递归公式的推导 if(nums1[i-1] == nums2[j-1]),则i和j同时移动,所以为i-1,j-1;dp[i][j] = dp[i-1][j-1];由于不需要进行删除操作,所以不需要加1 如果不相

    2023年04月19日
    浏览(37)
  • 代码随想录复习 1047. 删除字符串中的所有相邻重复项 150 逆波兰表达式求值 239 滑动窗口最大值

    1047. 删除字符串中的所有相邻重复项 代码如下  func removeDuplicates(s string) string {             var  stack []byte   //结果栈数组             for i := 0 ; i  len(s) ; i++ {                 if len(stack)  0  stack[len(stack)-1] == s[i] {  //如果当前遍历到的元素

    2024年02月05日
    浏览(37)
  • 代码随想录第十一天 | ​​​​​​LeetCode 20. 有效的括号、​​​​​​LeetCode 1047. 删除字符串中的所有相邻重复项、​​​​​​LeetCode 150. 逆波兰表达式求

    目录 ​​​​​​LeetCode 20. 有效的括号 文章讲解:代码随想录(programmercarl.com) 视频讲解:栈的拿手好戏!| LeetCode:20. 有效的括号_哔哩哔哩_bilibili 思路 ​​​​​​LeetCode 1047. 删除字符串中的所有相邻重复项 文章讲解:代码随想录(programmercarl.com) 视频讲解:栈的好戏还

    2024年02月22日
    浏览(36)
  • 代码随想录Day9 栈与队列 LeetCodeT20 有效的括号 T1047 删除字符串中所有相邻重复项 T150 逆波兰表达式求值

    题目详细思路和解法来自于:代码随想录 (programmercarl.com) 这道题分为三种情况 1.左括号多了         ([{}]() 2.括号不匹配         [{(]}] 3.右括号多了         []{}()))) 处理思路:我们在遇到左括号的时候,直接入栈其对应的右括号即可,然后在遇到右括号的时候直接与栈顶元素比

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包