java笔试题(三)

复制代码
public class Javatest77 {
    /**
     * 笔试题
     * 练习3:输入字符串(中间有若干个空格隔开),要求:以空格隔开,删除空格两边字符串的重复字符再输出,
     * 例:aabbbcc ddaaaffggbb变为abc dafgb(注意:输入的空格得保留下来)
     */
    public static void main(String[] args) {
        String s = "aabbbcc ddaaaffggbb";
        char[] arr = s.toCharArray();
        for (int i = 0,j = i + 1; i < arr.length - 1 && j < arr.length;) {
            //跳过空格
            if(arr[j] == ' '){
                i = j + 1;
                j = j + 1;
            }
            //i跳过重复需要被删除字符
            else if(arr[i] != arr[j]){
                i++;
                while(arr[i] == '*'){
                    i++;
                }
            }
            //重复需要被删除的字符用‘*’替换
            else if(arr[i] == arr[j]){
                arr[j] = '*';
            }
            //以上三个if任何一个成立,都会执行j++
            j++;
        }
        StringBuilder s1 = new StringBuilder();
        //遍历字符数组,跳过‘*’
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] != '*'){
                s1.append(arr[i]);
            }
        }
        System.out.println(s1.toString());
    }
}
复制代码

 

posted @   翼小白  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示