题解 | #单词倒排#

单词倒排

http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

判断是不是字母: Character.isLetter(ch[i])

import java.util.regex.*;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String test = sc.nextLine();
        
        char[] ch = test.toCharArray();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < ch.length; i++) {
            if (Character.isLetter(ch[i])) {
                sb.append(ch[i]);
            }else{
                sb.append(" ");
            }
        }
        String[] arr = sb.toString().split(" ");
        for (int i = arr.length - 1; i >= 0; i--) {
            System.out.print(arr[i]+" ");
        }
    }
}

全部评论
分隔正则改成\\s+
6
送花
回复 分享
发布于 2022-07-13 10:06
输出要改成 System.out.print(arr[i].trim()+" ");
3
送花
回复 分享
发布于 2022-03-13 14:14
神州信息
校招火热招聘中
官网直投
这个有有问题的 输入有多个间隔符时,倒排输出后不能保证只有一个空格
2
送花
回复 分享
发布于 2022-03-08 14:52
if(arr2[i].length() > 0){ System.out.print(arr2[i].trim() + " "); }
点赞
送花
回复 分享
发布于 2022-05-10 09:44
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str=sc.nextLine(); char[] ch=str.toCharArray(); StringBuilder sb=new StringBuilder(); for(int i=0;i<ch.length>=0;i--) if(arr[i].length()>0) System.out.print(arr[i]+" "); } } } 这个可以适用于多个间隔符</ch.length>
点赞
送花
回复 分享
发布于 2022-05-13 17:12
String[] arr = sb.toString().split(" "); StringBuffer sb2=new StringBuffer(); for (int i = arr.length - 1; i >= 0; i--) { sb2.append(arr[i]+" "); } System.out.print(sb2.toString().trim()); 把结尾的空格去掉了
点赞
送花
回复 分享
发布于 2022-05-14 16:20
还是有问题,如果一个单词中间有多个空格,不能保证只有一个空格
点赞
送花
回复 分享
发布于 06-23 21:13 上海

相关推荐

26 5 评论
分享
牛客网
牛客企业服务