Solution1 双指针模拟

  • 时间复杂度 $O(n)$

  • 空间复杂度 $O(1)$

注意处理好特情况:

  • size == 1: 直接返回 1

  • size > 1

    遍历 (1, N)

    • 对中间的元素:

      • i != i-1,则要加,注意区分 cnt == 1

      • i == i-1,直接 cnt++

    • 对最后一个元素,要判断倒数第二和最后一个字符

      • 最后两个字符相同:直接按 cnt + 1 算

      • 最后两个字符不同:分别算 倒数第二个字符的 cnt,和最后一个字符

Last updated