Java算法题:反转字符串

leetCode原题:

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

比如:hello->olleh

思路:

使用双指针,左指针指向字符串收尾,右指针指向末尾

while循环条件:左指针小于等于右指针

小于的目的是,当字符串为偶数时,指针一直走,但左指针大于右指针时,说明反转完成

等于时:当字符串为奇数时,左右指针相等的时候,说明遍历结束

代码如下:

public class Test {
    public static void main(String[] args) {
        char[] s={'h','e','l','l','o'};
        reverseString(s);
    }
    public static void reverseString(char[] s){
        //创建左指针
        int left=0;
        //创建右指针
        int right=s.length-1;
        //遍历字符串数组
        while(left<=right){
            //创建临时变量
            char temp=s[left];
            s[left]=s[right];
            s[right]=temp;
            //左指针++
            left++;
            //右指针--
            right--;
        }
        for(int i=0;i<s.length;i++){
            System.out.print(s[i]);
            System.out.print(" ");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值