LeetCode925 長俺鍵入

長按鍵入>>>
在這裏插入圖片描述


   //字符串匹配模式,在typed中查找name
    public boolean isLongPressedName(String name, String typed) {

        //定義兩個指針
        //名字字符串指針
        int nameIndex = 0;
        //輸入的字符串的指針
        int typedIndex =0;
        if(name.length()> typed.length()) return false;
        while(nameIndex<name.length()&&typedIndex<typed.length()){

            //在人名字符串中連續兩個字符相等
            if(nameIndex<name.length()-1&&name.charAt(nameIndex)==name.charAt(nameIndex+1)){

                //在輸入的字符串中不能去重,正常處理
                if(name.charAt(nameIndex)!=typed.charAt(typedIndex)) return false;
                nameIndex++;
                typedIndex++;


            }else{//在人名字符串中不存在連續的重複字符串,則在輸入字符串需要跳過重複的字符串

                //存在重複字符串
                while(typedIndex<typed.length()-1&&typed.charAt(typedIndex)==typed.charAt(typedIndex+1)){
                    typedIndex++;
                }

                //跳過重複字符串若不相等則返回false
                if(name.charAt(nameIndex)!=typed.charAt(typedIndex)) return false;

                nameIndex++;
                typedIndex++;
            }

        }

        if(nameIndex<name.length()||typedIndex<typed.length()) return false;

        return true;



    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章