题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
这是自己一开始的思路,用最笨的办法解决,但是通过了测试用例,却通不过代码要求,暴风哭泣!(后面我才明白并不是我的思路有问题,是关于数组的长度为奇数还是偶数的问题,长度应该减1才能除以2取到数组的中间数,下面第二个才是对的,后知后觉!!!)
1 | var reverseString = function(s) { |
1 | var reverseString = function(s) { |
看题解,
- 可以用javascript原生API——reverse()函数
1 | var reverseString = function(s){ |
2.双指针(其实和我自己本身的想法也比较符合)
1 | var reverseString = function(s) { |
3.双指针+解构赋值(道理是一样的,但是看人家的代码多简洁)
1 | var reverseString = function(s) { |
Author: Amanda-Zhang
Link: http://chunchunya.github.io/2020/10/09/10.08_%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.