先进后出就下意识用栈了呜呜
进栈
stack.push(Object);
出栈
stack.pop();
class Solution {
public void reverseString(char[] s) {
Stack<Character> stack=new Stack<>();
for(int i=0;i<s.length;i++)
stack.push(s[i]);
int l=stack.size();
for(int j=0;j<l;j++)
s[j]=stack.pop();
}
}
双指针一下下
class Solution {
public void reverseString(char[] s) {
int n = s.length;
int left = 0, right = n - 1;
while(left < right){
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
left ++;
right --;
}
}
}
python3:
s[::-1]相当于 s[-1:-len(a)-1:-1]就是从最后一个元素到第一个元素复制一遍
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
s[:] = s[::-1]