Implement isValidNumber
(s) that returns true if and only if the ASCII string s represents a valid number under these simplified rules:
-
Optional leading '+' or '-'.
-
A mantissa that is either:
(a) one or more digits, optionally containing a single decimal point anywhere (e.g., '123', '0.5', '.8', '10.'), with at least one digit overall; or
(b) exactly a decimal point is not allowed ('.' invalid).
-
An optional exponent part: 'e' or 'E' followed by an optional '+' or '-' and then at least one digit (e.g., '1e9', '-3.2E-4').
-
No spaces, commas, underscores, or other characters are allowed anywhere.
-
Leading zeros are allowed; multiple signs or multiple decimal points are not.
Return false for cases like 'e3', '+.', '1.2.3', '--6', '6e', '6e-'. Provide time and space complexities and briefly justify your approach.