首页 > 编程语言 >代码随想录算法训练营第第八天 | 344.反转字符串 、541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词 、卡码网:55.右旋转字符串

代码随想录算法训练营第第八天 | 344.反转字符串 、541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词 、卡码网:55.右旋转字符串

时间:2024-05-15 22:53:43浏览次数:25  
标签:卡码 反转 len let 讲解 字符串 翻转

344.反转字符串

建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数
题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.反转字符串.html

/**
 * @param {character[]} s
 * @return {void} Do not return anything, modify s in-place instead.
 */
var reverseString = function(s) {
    let left = 0;
    let right = s.length-1;
    while(left<right){
        let mid = s[left];
        s[left] = s[right];
        s[right] = mid;
        left++;
        right--;
    }
    return s;
};
  1. 反转字符串II

建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。
题目链接/文章讲解/视频讲解:https://programmercarl.com/0541.反转字符串II.html

/**
 * @param {string} s
 * @param {number} k
 * @return {string}
 */
var reverseStr = function(s, k) {
    let len = s.length;
    const res = s.split('');
    for(i=0;i<len;i+=2*k){
        let l = i;
        let r = i+k-1>=len?(len-1):i+k-1;
        while(l<r){
            let mid = res[l];
            res[l]=res[r];
            res[r]=mid;
            r--;
            l++;
        }
    }
    return res.join('')
};

卡码网:54.替换数字

建议:对于线性数据结构,填充或者删除,后序处理会高效的多。好好体会一下。
题目链接/文章讲解:https://programmercarl.com/kama54.替换数字.html

js不能对字符串做操作,例如let s='dasdasd'  s[1]='d',这种是无效的
最重要学习思路和方法,可以用户数组来操作

151.翻转字符串里的单词

建议:这道题目基本把 刚刚做过的字符串操作 都覆盖了,不过就算知道解题思路,本题代码并不容易写,要多练一练。
题目链接/文章讲解/视频讲解:https://programmercarl.com/0151.翻转字符串里的单词.html

/**
 * @param {string} s
 * @return {string}
 * 还有方法就是用数组,先翻转整个数组,再翻转单词
 */
var reverseWords = function(s) {
    s = s.trim();
    const arr = s.split(' ');
    const res = [];
    console.log(arr)
    for(let i=0;i<arr.length;i++){
        if(arr[i]===''){
            continue;
        }
        res.push(arr[i]);
    }
    res.reverse();
    return res.join(' ')
};

卡码网:55.右旋转字符串

建议:题解中的解法如果没接触过的话,应该会想不到
题目链接/文章讲解:
https://programmercarl.com/kama55.右旋字符串.html

其他方法思路是,先翻转整个字符串,再翻转特定的字符,“负负得正”
      function dealStr(num, str){
        
        let len = str.length - num;
        let str1 = str.substr(len, num);
        let str2 = str.substr(0,len);
        return str1+str2;
      }

标签:卡码,反转,len,let,讲解,字符串,翻转
From: https://www.cnblogs.com/yuanyf6/p/18194870

相关文章

  • redis之字符串
    【1】set#1SET命令用于设置给定key的值。如果key已经存储其他值,SET就覆写旧值,且无视类型。res=conn.set(name='name',value='green')print(res)#插入成功后返回True#1.1设置过期时间conn.set(name='name',value='green',ex=5)#ex=5在5秒后过期conn.s......
  • 反转链表
    最近想认真学一下数据结构和算法,之前也学过,不过学一段时间就不当回事了,这次争取好好学一段时间,今天是第一天,我准备一天刷一道leetcode题,简单,中等,难都行,主要是建立一个习惯。加油!反转链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval......
  • 字符串、列表、字典内置方法
    字符串内置方法【一】字符串的查找字符串内部的字符默认从左向右找,并返回当前字符在串中的索引坐标【1】find方法name='qwerooehjkl'print(name.find('e'))默认只找一次,找到就不找了#2第二个e不找了可以指定寻找的区间,参数不带''引号从第三个到最后一个pr......
  • 字符串转日期format
    functiongetDateFormat(str){ returnstr.split('').join('-') .replace("年","yyyy") .replace("月","MM") .replace("日","dd") .replace("时",&......
  • div,span使用展示\n字符串是换行而不是空格
    当前接口返回值有时候包含‘\n’时,我们想让它展示成换行,但是经常展示成空格 处理方法:1,使用split(‘\n’)分割当前字符串,然后使用数组渲染,(麻烦)2,使用css属性 (方便)文档white-space:pre-line ......
  • C#实现图片转Base64字符串.并支持markdown文件打开展示
    引用1.0.3版本或以上的Wesky.Net.OpenTools包1.0.3版本提供图片转Base64字符串方案,并提供根据后缀名自动识别Mime类型,合成标准URI开源项目地址:Gitee:https://gitee.com/dreamer_j/open-tools.gitGithub:https://github.com/LittleLittleRobot/OpenTools.git为了简单操作......
  • 记字符串匹配KMP算法
    字符串匹配是一类经典的问题,在字符串s中找出模式串t第一个元素的下标,如果没有匹配到,则返回-1。此问题在leetcode中甚至归类为简单。解决此问题最直接的思路是使用暴力解法,从第0个元素开始逐个比较元素,当字符不匹配时,s的指针向前移动一位,不断重复。这种思路最简单且直接,但是无法通......
  • js 遍历数组取出字符串用逗号拼接
    var arr=[{"name":"hhh"},{"name":"dddd"}] //用jsfunction getTextByJs(){    var str= "";    for (var i=0;i<arr.length;i++){        str+=arr[i].name+ ",";    }    //去掉最后一个逗号(如......
  • 代码随想录训练营第三天 | 203.移处链表元素 707.设计链表 206.反转链表
    203.移除链表元素题目链接https://leetcode.cn/problems/remove-linked-list-elements/文章讲解https://programmercarl.com/0203.移除链表元素.html#算法公开课视频讲解https://www.bilibili.com/video/BV18B4y1s7R9/?vd_source=2b5b33d3d692b0064daff4e58957fc82tips:对......
  • hash思想与字符串
    哈希思想与字符串窥见前两天听了一个学长讲字符串,KMP,Tire,DFA,AC自动机,马拉车...叽里呱啦的我这个小蒟蒻也听不明白。虽然但是学长在最后清了清嗓子,敲了敲黑板,拿出了镇场子的家伙——hash算法。听完之后,满座惊呼,醍醐灌顶,恍然大悟。我也这般激动,便趁着这股劲写下这篇窥见,随便纪念这......