按字典顺序排列的下一个字符串是什么?

时间:2018-03-03 16:08:46

标签: string

我对字符串的词典顺序感到有点困惑。

所以如果我的s = "zzz",那么下一个是什么,即" zzz" +1,如果我可以这样说的话?是"zzza"还是"azzz"

添加:此问题的字母是[a..z]。

2 个答案:

答案 0 :(得分:1)

这将取决于您的字符集,知道哪一个是下一个,但"azzz""zzz"之前"zzza""zzz"之后。{/ p>

它与字典的顺序相同: a..z然后aa..az然后ba..bz

答案 1 :(得分:0)

首先,在考虑字典顺序时,您必须定义最长单词的长度。除非你这样做,否则按顺序获取下一个单词意味着将字母的第一个字母附加到前一个单词。这意味着从"a"开始,您甚至无法通过有限步数访问单词"b"(因为"aa", "aaa"...之类的单词都在"b"之前订购)。

如果您想在字母表中生成连续的单词,您应该使用以下的规则顺序:

  1. 较短的单词在较长的单词之前
  2. 如果两个单词的长度相同,则按字母顺序排序
  3. 在这种情况下,"zzz"之后的下一个词将是" aaaa"这似乎有点反直觉,但允许你以更有用的方式在字母表中获得n-th字。