给你一个由小写英文字母组成的字符串 s 和一个整数 k。
在 当前 字符串 s 中,如果两个 相同 字符之间的下标距离 至多 为 k,则认为它们是 靠近 的。
当两个字符 靠近 时,右侧的字符会合并到左侧。合并操作 逐个 发生,每次合并后,字符串都会更新,直到无法再进行合并为止。
返回执行所有可能合并后的最终字符串。
注意:如果可以进行多次合并,请始终选择 左侧下标最小 的那一对进行合并。如果多对字符共享最小的左侧下标,请选择 右侧下标最小 的那一对。
示例 1:
输入: s = "abca", k = 3
输出: "abc"
解释:
i = 0 和 i = 3 处的字符 'a' 是靠近的,因为 3 - 0 = 3 <= k。'a',得到 s = "abc"。示例 2:
输入: s = "aabca", k = 2
输出: "abca"
解释:
i = 0 和 i = 1 处的字符 'a' 是靠近的,因为 1 - 0 = 1 <= k。'a',得到 s = "abca"。'a' 分别位于下标 i = 0 和 i = 3,它们不再靠近,因为 k < 3,所以不再发生合并。示例 3:
输入: s = "yybyzybz", k = 2
输出: "ybzybz"
解释:
i = 0 和 i = 1 处的字符 'y' 是靠近的,因为 1 - 0 = 1 <= k。'y',得到 s = "ybyzybz"。i = 0 和 i = 2 处的字符 'y' 是靠近的,因为 2 - 0 = 2 <= k。'y',得到 s = "ybzybz"。
提示:
1 <= s.length <= 1001 <= k <= s.lengths 由小写英文字母组成。