LeetCode 344:反转字符串

导读:本篇文章讲解 LeetCode 344:反转字符串,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

链接
在这里插入图片描述

思路:

使用一左一右指针,从两边向中间走;
当数组元素个数为偶数时,left和right指针为一对,直到反转完成;
当元素个数为奇数,中间多出来的一个则无需再跟其他元素交换,所以while 条件是left<right

Java实现:

class Solution {
    public void reverseString(char[] s) {
        int left=0;
        int right=s.length-1;
        while(left<right){
            char tem=s[left];
            s[left]=s[right];
            s[right]=tem;

            left++;
            right--;
        }
    }
}

ACM模式:
读取到String,切分为字符串数组进行操作(String字符串是不可变的,不能直接charAt改变字符串),
最后使用StringBuilder追加数组元素,并转换为String输出;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
        String s=in.readLine();
        String[] s1=s.split("");
        
        int i=0;
        int j=s1.length-1;
        while(i<j){
            String t=s1[i];
            s1[i]=s1[j];
            s1[j]=t;
            i++;
            j--;
        }
        StringBuilder r=new StringBuilder();
        for(String k:s1){
            r.append(k);
        }
        System.out.println(r.toString());
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/89300.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!