题目
题目的主要信息:
- 输入一个只包含小写字母的字符串
- 输出该字符串反转后的字符串
举一反三:
学习完本题的思路你可以解决如下题目:
方法一:双指针交换(推荐使用)
知识点:双指针
双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个指针(特殊情况甚至可以多个),两个指针或是同方向访问两个链表、或是同方向访问一个链表(快慢指针)、或是相反方向扫描(对撞指针),从而达到我们需要的目的。
思路:
字符串反转即逆序,前后顺序是反的,也就是前面的字符换到了后面,后面的字符换到了前面,那既然这样我们就将前后的顺序依次对称交换,这时候就需要使用到了对撞双指针,从前后同时遍历。
具体做法:
- step 1:准备两个指针,从字符串一首一尾同时出发。
- step 2:每次交换二者指向的字符,直到二者相遇,这样刚好可以将字符串首尾交换,完成反转。
图示:

Java代码实现:
import java.util.*;
public class Solution {
public String solve (String str) {
//左右双指针
char[] s = str.toCharArray();
int left = 0;
int right = str.length() - 1;
//两指针往中间靠
while(left < right){
char c = s[left];

最低0.47元/天 解锁文章
267

被折叠的 条评论
为什么被折叠?



