# reverse swap

目录:

  1. swap(数字、字符串、)
  2. reverseString
  3. reverseWords

swap

1/** 借助临时变量 */ 2function swap(str1, str2) { 3 const temp = str1; 4 str1 = str2; 5 str2 = temp; 6} 7 8 9/** 解构赋值 */ 10[a, b] = [b, a]; 11 12/** 对象 */ 13{a,b} = {a:b,b:a} 14 15 16/** 加法 只适用于数字 */ 17a += b; 18b = a - b; 19a -= b; 20 21/** 22 * 加法 简写 23 * 基本类型的值,保存的就是这个值 24*/ 25a = a + b - (b = a); 26 27 28/** 借助数组实现 */ 29a = [a, b][1]; 30b = [a, b][0]; 31// 简写 32b = [a, (b = a)][0]; 33 34 35/** 借助数组实现 */ 36a = { a:a, b:b }['a']; 37b = { a:a, b:b }['b']; 38 39// 简写 40b = {a:a,b:(a=b)}['a']

reverseString

1// [...str]取代str.split('') 2const reverseString = str => [...str].reverse().join(''); 3 4 5/** 6 * 常规方法 7 * @param {string} s 8 * @return {string} 9 */ 10function swap(s) { 11 if (s.length <= 1) return s; 12 let result = ''; 13 for (let i = s.length - 1; i >= 0; i -= 1) { 14 result += s[i]; 15 } 16 return result; 17} 18 19 20 21/* 22* @param {string} s string of (n) length 23* @return {string} returns a reversed string 24*/ 25 26function reverseString(s) { 27 // edge case 28 if (s.length <= 1) return s; 29 30 // split and swap 31 const arr = s.split(''); 32 let start = 0; 33 let end = arr.length - 1; 34 35 while (start < end) { 36 // swap characters 37 const temp = arr[start]; 38 arr[start] = arr[end]; 39 arr[end] = temp; 40 41 // move towards middle 42 start += 1; 43 end -= 1; 44 } 45 46 return arr.join(''); 47}

reverseWords

1/** 2 * @param {string} s 3 * @return {string} 4 */ 5function reverseWords(s) { 6 return s.replace(/^\s+/, '') // 去除头部多余空格 7 .replace(/\s+$/, '') // 去除尾部多余空格 8 .replace(/(\w+)\s+/, '$1 ') // 合并中间多余空格为一个 9 .split(/\s/)// 拆分为字符串 10 .reverse() // 反转字符串 11 .join(''); 12}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

# reverse swap - HelloWorld