-
Notifications
You must be signed in to change notification settings - Fork 154
/
65.py
23 lines (23 loc) · 749 Bytes
/
65.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution:
def isNumber(self, s):
s = s.strip()
pointSeen = eSeen = numberSeen = False
numberAfterE = True
for i, c in enumerate(s):
if "0" <= c <= "9":
numberSeen = numberAfterE = True
elif c == ".":
if eSeen or pointSeen:
return False
pointSeen = True
elif c == "e":
if eSeen or not numberSeen:
return False
numberAfterE = False
eSeen = True
elif c in "-+":
if i and s[i - 1] != "e":
return False
else:
return False
return numberSeen and numberAfterE