JavaScript 实现回文解码
Posted Orange
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 实现回文解码相关的知识,希望对你有一定的参考价值。
题目也是源自今日头条前端工程师笔试题。题目描述:
现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从 0 开始的。
思路:首先获得关于(P,l)的子串,获得子串可以使用string.substring方法。然后反转子串,字符串没有反转方法,但是数组有,所以可以先把字符串转为数组,反转之后再转为字符串。 最后将反转后的子串插入到原来子串的后面。实现将字符串插入到原串特定位置,字符串没有现成的方法,两种方法,1是可以使用substr,slice等方法先分割字符串然后在连接。2是使用数组的splice方法,先将字符串转为数组,然后用solice方法在指定位置插入元素,然后再转为字符串。
var input = "ab\n2\n0 2\n1 3"; function reverscon (input) { input_array = input.split("\n"); var nLine = 0; while(nLine < input_array.length){ var line = input_array[nLine++].trim(); if(line === ‘‘){ continue; } var s = line; var n = +input_array[nLine++]; while(n--){ var input_arrays = input_array[nLine++].trim().split(‘ ‘); var p = +input_arrays[0]; var l = +input_arrays[1]; //你的代码 var substring = s.substring(p,p+l); substring = substring.split(‘‘).reverse().join(‘‘); var arrs = s.split(‘‘); //这一步需要一个变量保存结果,因为splice返回的是 arrs.splice(p+l,0,substring); //被删除的字符,所以连写的话会返回空 s = arrs.join(‘‘); //abbaabb } } console.log(s); }; reverscon(input);
以上是关于JavaScript 实现回文解码的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 实现双向队列并用此来测试一个单词是否为回文
LeetCode JavaScript实现 回文链表(回文字符串) 题型汇总(双指针解法)
html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。