实现字符串的反转

来源:互联网 发布:殷素素 俞岱岩 知乎 编辑:程序博客网 时间:2024/04/29 10:55

题目如下:

这里写图片描述

分析:反转整个句子,然后以空格为标志,反转每个单词即可

代码如下:

import java.util.*;public class Main{    public static void main(String[] args){        Scanner sc = new Scanner(System.in);        String sen = sc.nextLine();        System.out.println(reverse(sen));    }    public static String reverse(String sentence){        char[] a = sentence.toCharArray();        exchange(a,0,a.length-1);        int flag=0;        for(int i =0;i<a.length;i++){            if(a[i]==' '){                exchange(a,flag,i-1);                flag = i+1;            }               if(i==a.length-1){                exchange(a,flag,i);            }        }        return new String(a);    }    public static void exchange(char[] a,int begin,int end){        while(end>begin){            char temp = a[end];            a[end]=a[begin];            a[begin] = temp;            begin++;            end--;        }    }}

注意,最后一个单词的反转要单独处理。

0 0