- Notifications
You must be signed in to change notification settings - Fork24
Open
Labels
Description
先明确题目要求:
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
constreverseString=function(s){s.reverse()}
这道题可不是为了考察我们是否知道reverse()
这个 API,我们来看不借助内置方法如何解题。
双指针
- 借助双指针left、right分别指向头尾。
- 两个指针不断夹逼,进行交换位置完成反转。
constreverseString=function(s){letleft=0,right=s.length-1;while(left<right){[s[left],s[right]]=[s[right],s[left]]left++right--}}
- 时间复杂度: O(n)
- 空间复杂度: O(1)