1 要求

给定一组数据,将其倒序输出,如:

input: [1,2,3,4,5]
output: [5,4,3,2,1]

input: [‘h’,’e’,’l’,’l’,’o’]
output: [‘o’,’l’,’l’,’e’,’h’]

2 题解

使用双指针,遍历数组长度的一半次数,即可,不需要借助额外的临时数组。

3 代码

3.1 python

1 method one

1
2
3
4
5
6
7
8
def reverse(array_like):
i=0
j=len(array_like)-1
while(i<=j):
array_like[i],array_like[j] = array_like[j],array_like[i]
i += 1
j -=1
return array_like

2 method two

1
2
for i in range(len(array_like)>>1):
array_like[i],array_like[len(array_like)-1-i] = array_like[len(array_like)-1-i],array_like[i]

3.2 java

1
2
3
4
5
6
7
8
9
10
public static void reverseString(char[] s) {
int i=0,j = s.length-1;
char[] res = new char[s.length];
while(i<=j){
res[j] = s[i];
res[i] = s[j];
i++;
j--;
}
}

写在最后

欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
微信公众号