# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param str string字符串 # @return bool布尔型 # class Solution: def isNumeric(self , str: str) -> bool: # write code here n = len(str) index = 0 has_num = has_sign = has_e = has_dot = False while index<n and str[index] == ' ': index += 1 while index<n: while index<n and '0'<=str[index]<='9': index += 1 has_num = True if index == n: break if str[index] == 'e' or str[index] == 'E': if has_e or not has_num: return False has_e = True has_num = has_sign = has_dot = False elif str[index]=='+' or str[index]=='-': if has_sign or has_num or has_dot: return False has_sign = True elif str[index] == '.': if has_dot or has_e: return False has_dot = True elif str[index] == ' ': break else: return False index += 1 while index <n and str[index]==' ': index += 1 return has_num and index == n