我正在尝试获取一些代码,以按给定输入字符串的字母顺序获取最长的子字符串。事实是,每当我需要包含输入字符串的最后一个字符时,我的输出就会丢失它。例如,如果我输入“abcde”,我将得到“abcd”作为我的输出,虽然“e”也应该在那里。
我在想我正在使用“i”比较做一些明显错误的事情,但我似乎无法找到那个错误。
非常感谢任何帮助和/或提示。
s=input('Type in your string: ')
currentSubstring = ''
maxSubstring = ''
for i,c in enumerate(s):
if(i+1 < len(s)):
if(s[i] <= s[i+1]):
currentSubstring = currentSubstring + s[i]
if(len(currentSubstring) > len(maxSubstring)):
maxSubstring = currentSubstring
elif(s[i] > s[i+1]):
if(currentSubstring != ''):
currentSubstring = currentSubstring + s[i]
if(len(currentSubstring) > len(maxSubstring)):
maxSubstring = currentSubstring
currentSubstring = ''
print(maxSubstring)