算法笔记: 力扣#717 1比特与2比特字符

问题描述


解法


分析

Python 实现

1
2
3
4
5
6
7
8
9
10
class :
def isOneBitCharacter(self, bits):
"""
:type bits: List[int]
:rtype: bool
"""
pointer = 0
while pointer < len(bits) - 1:
pointer += (2 if bits[pointer] else 1)
return pointer == len(bits) - 1

Java 实现

1
2
3
4
5
6
7
8
class {
public boolean isOneBitCharacter(int[] bits) {
int pointer = 0;
while(pointer < bits.length - 1)
pointer += (bits[pointer] == 1 ? 2 : 1);
return pointer == bits.length - 1;
}
}

时间复杂度

O(n).

空间复杂度

O(1).

链接


717. 1-bit and 2-bit Characters
717. 1比特与2比特字符
(English version) Algorithm Notes: Leetcode#717 1-bit and 2-bit Characters