【华为机试】单词倒叙
  Asbsz68G9hcD 2023年11月01日 29 0
  • 题目描述:
    输入单行英文句子,里面包含英文字母,空格以及,.?三种标点符号,请将句子内每个单词进行倒序,并输出倒序后的语句

  • 输入描述:
    输入字符串 S, S 的长度 1≤N≤100

  • 输出描述:
    输出逆序后的字符串。

  • 解题思路:
    遍历给定句子,判断如果字母,则插入到指定位置,如果是指定标点,则追加到后面

  • 代码:

    public String solution(String sentence) {
        StringBuilder result = new StringBuilder();
        // 字符插入位置
        int start = 0;
        for (int i = 0; i < sentence.length(); i++) {
            // 如果是普通字符,插入到指定位置,如果是指定标点符号,则追加到后面
            char c = sentence.charAt(i);
            if (c == ',' || c == '.' || c == '?' || c == ' ') {
    			// 插入位置变更为标点符号之后一个位置,保证每个单词顺序不会发生变化
                start = i+1;
                result.append(c);
                continue;
            }
            result.insert(start, c);
        }
        return result.toString();
    }
    

以上是我的思路,如果有遗漏的点请在评论区指出,谢谢

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   110   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
Asbsz68G9hcD
作者其他文章 更多