給定乙個僅包含小寫字母的字串,去除字串中重複的字母,使得每個字母只出現一次。需保證返回結果的字典序最小(要求不能打亂其他字元的相對位置)。
示例 1:
輸入: 「bcabc」示例 2:輸出: 「abc」
輸入: 「cbacdcbc」分析:輸出: 「acdb」
這道題就是,第一去重複,第二就是選擇最小的字串。
去重複倒是不難,主要是如何選擇最小的字串?
首先,有幾點要明確:
1.只出現過一次的字元,肯定要存在。
2.當出現的字元有多個,是否應該保留?假設是這樣的情況,當前字元出現多次,我先新增上去,當後面出現乙個字元小於它,則我可以刪了它而取後面的字元,如當前取的字串為bc(兩者都出現不止一次),後乙個字元為a,那麼就應該刪了b,再刪了c,之後再新增a,這樣就能保證是最小的情況。
**如下:
class
solution
break;}
res +
= s[i];}
}return res;}}
;
316 去除重複字母
給定乙個僅包含小寫字母的字串,去除字串中重複的字母,使得每個字母只出現一次。需保證返回結果的字典序最小 要求不能打亂其他字元的相對位置 示例 1 輸入 bcabc 輸出 abc 示例 2 輸入 cbacdcbc 輸出 acdb 我的 超時 class solution string removedu...
316 去除重複字母
給你乙個字串 s 請你去除字串中重複的字母,使得每個字母只出現一次。需保證 返回結果的字典序最小 要求不能打亂其他字元的相對位置 注意 該題與 1081 相同 示例 1 輸入 s bcabc 輸出 abc 示例 2 輸入 s cbacdcbc 輸出 acdb 1 s.length 104 s 由小寫...
316 去除重複字母
316.去除重複字母 給你乙個字串s,請你去除字串中重複的字母,使得每個字母只出現一次。需保證返回結果的字典序最小 要求不能打亂其他字元的相對位置 示例 1 輸入 s bcabc 輸出 abc 示例 2 輸入 s cbacdcbc 輸出 acdb 1 s.length 104 s 由小寫英文本母組成...