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

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

时间:2023-11-19 17:34:25浏览次数:40  
标签:卡码 function return 反转 let 字符串 left

今日学习内容

● 344.反转字符串

var reverseString = function(s) {
    // return s.reverse();
    for(let i = 0 , j = s.length-1;i < Math.floor(s.length/2) ; i++,j--){
        [s[i] , s[j]] = [s[j] , s[i]]
    }
    return s

};

● 541. 反转字符串II

var reverseStr = function(s, k) {
    let count = 0 ;
    s = s.split('');
    for(let i = 0 ; i< s.length ; i+=2*k){
        // count++;
        // if(count === 2*k ){
            let left = i ;
            let right = i+k-1;
            while(left <= right){
                let temp = s[left];
                s[left] = s[right];
                s[right] = temp;
                left++;
                right--
            }
        // }
        // count = 0;
        // if(i == s.length-1){

        // }
    }
    return s.join('')

};

● 卡码网:54.替换数字

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        function repleceNumber(s) {
            s = s.split('');
            // console.log(/^[a-zA-Z]*$/.test('9'))
            s=s.map((item, index) => {
                // return 90
                // console.log(/[a-z]/.test(item))
                if(/[a-z]/.test(item)){
                    return 'number'
                }else{
                    return item
                }
            })
            console.log(s)
            return s.join('')

        }
        let result = repleceNumber('a1b2c3')
        console.log(result)
    </script>
</body>

</html>

● 151.翻转字符串里的单词

var reverseWords = function(s) {
    let temp = [] ;
    let arr = [];
    let count = 0 ;
    s = s.trim()
    for(let i = 0 ; i <s.length;i++){
        if(s[i] !== ' '){
            if(!arr[count]) arr[count] = ''
            arr[count] = arr[count]+s[i]
        }else{
            if(!arr[count]){

            }else{
                count++
            }
            
        }
    }
    console.log(arr)
    return arr.reverse().join(' ')

};

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function reserver(s,left,right){

        }
        function rightStr(s,n){
            let left = 0 ;
            let right = s.length-1;
            s= Array.from(s)
            while(left<=right){
                [s[left],s[right]] = [s[right],s[left]];
                left++;
                right--
            };
            console.log(s)
            left = 0 ;
            right = n-1;
            while(left<=right){
                [s[left],s[right]] = [s[right],s[left]];
                left++;
                right--
            };
            left = n ;
            right = s.length-1;
            while(left<=right){
                [s[left],s[right]] = [s[right],s[left]];
                left++;
                right--
            };
            return s.join('')

        }
        let s = 'abcdefg';
        n = 2;
        console.log(rightStr(s,n))
    </script>
</body>
</html>

今日收获,记录一下自己的学习时长

2h

标签:卡码,function,return,反转,let,字符串,left
From: https://www.cnblogs.com/lijiacheng/p/17842292.html

相关文章

  • 【Java基础】异或特点+交换变量数值+数组反转
    异或特点二进制位不同为true,相同为false一个数被另外一个数异或两次,该数不变交换变量数值利用上述异或第2个特点实现交换两个整数类型变量数值代码publicclassXor{publicstaticvoidmain(String[]args){inta=10,b=4;a=a^b;......
  • 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)
    [NOIP2008提高组]笨小猴题目描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设是单词中出现次数最多的字母的出现次数,是单词中出现次数最少的字母的出现次数,......
  • web sql 的查询的参数类型需要为字符串类型
    var grade = (info.split('')[3]-2)一开始的grade的类型是数字,websql怎么也无法按grade查询出来数据,左思右想,后来把它变成了字符串类型,终于成功查询出来了结果. var grade = (info.split('')[3]-2).toString() resultshowselect2(db, 'users', [grade, part......
  • 字符串排序 星期几换算
    7-5字符串排序本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:Aftersorted:每行一个字符串输入样例:redyellow......
  • 206. 反转链表 (精选)
    2023-11-18206.反转链表-力扣(LeetCode)思路:注意leetcode是没有头节点的,只有数据节点1先将指针放到最后,然后从开头取节点,放到此节点后面遍历2遍,不好2引入头节点,头插法可以就用本来的链表/定义一个新的链表3原地反转链表的线迭代(双指针)递归相当于1的思路1简单,就......
  • Code-C++-字符串分割
    Code-C++-字符串分割转自【C++中string如何实现字符串分割函数split()——4种方法-CSDNApp】http://t.csdnimg.cn/8iWb7stringstreamgetline()stringfind()substr()ccharstrtok()strtok_r()regex_token_iterator<>getline()voidStringsplit(stringstr,const......
  • Java零基础入门-字符串
    Java零基础入门-字符串前言Java是一门非常强大的编程语言,在计算机领域拥有广泛的应用。作为Java的入门阶段,掌握字符串的基本概念以及使用方法是非常重要的,它也是Java程序中经常使用的一种数据类型。本文将从Java字符串的定义、创建、内容操作等方面进行详细阐述,给读者带来更加全......
  • js 的对象之 字符串对象
     javascript中的对象分为3种:自定义对象,内置对象,浏览器对象JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。在JavaScript中,对象是拥有属性和方法的数据。1.对象Object创建对象var对象名称=newObject();设置对象属性对象名称.属性名=值;设置对象......
  • mysql函数常见字符串函数
    1、BIT_LENGTH返回值为二进制的字符串str长度。--格式:BIT_LENGTH(str)selectBIT_LENGTH('abc'); 2、CONCAT返回结果为连接参数产生的字符串。--格式:concat(str1,str2,…)selectCONCAT('a','b','c')   3、ELT假设n等于1,用这个n去跟后一个数比较,如果n大......
  • 567. 字符串的排列
    字符串的排列给你两个字符串s1和s2,写一个函数来判断s2是否包含s1的排列。如果是,返回true;否则,返回false。换句话说,s1的排列之一是s2的子串。示例1:输入:s1="ab"s2="eidbaooo"输出:true解释:s2包含s1的排列之一("ba").示例2:输入:s1="ab"s2="e......