字母序连续字符串 是由字母表中连续字母组成的字符串。换句话说,字符串 "abcdefghijklmnopqrstuvwxyz" 的任意子字符串都是 字母序连续字符串 。
例如,"abc" 是一个字母序连续字符串,而 "acb" 和 "za" 不是。
给你一个仅由小写英文字母组成的字符串 s ,返回其 最长 的 字母序连续子字符串 的长度。
示例 1:
输入:s = "abacaba"
输出:2
解释:共有 4 个不同的字母序连续子字符串 "a"、"b"、"c" 和 "ab" 。
"ab" 是最长的字母序连续子字符串。
示例 2:
输入:s = "abcde"
输出:5
解释:"abcde" 是最长的字母序连续子字符串。
提示:
1 <= s.length <= 105
s 由小写英文字母组成
Related Topics
字符串
解题思路:
1.计算字符串s中连续字符的最大长度。
2.遍历字符串,若当前字符与前一个字符相差1,则当前连续长度curLen加1。
3.否则,更新最大连续长度maxLen,并重置curLen为1。
4.返回最终的最大连续长度。
public int longestContinuousSubstring(String s) {int maxLen = 1;int curLen = 1;for (int i = 1; i < s.length(); i++) {if (s.charAt(i) == s.charAt(i - 1) + 1) {curLen++;} else {maxLen = Math.max(maxLen, curLen);curLen = 1;}}return Math.max(maxLen, curLen);
}