Problem
You are given a string num
, representing a large integer. Return the largest-valued odd integer (as a string) that is a non-empty substring of num
, or an empty string ""
if no odd integer exists.
A substring is a contiguous sequence of characters within a string.
Examples
Example 1:
|
|
Example 2:
|
|
Example 3:
|
|
Solution
Method 1 - Iteration
To find the largest-valued odd integer as a non-empty substring of the given string num
, we need to consider the following points:
- Odd Numbers:
- An integer is odd if its last digit is odd. Therefore, we only need to check the last digit of all possible substrings to determine if the substring represents an odd number.
- Largest-Valued Substring:
- Since the problem requires the largest-valued odd integer, we can start from the end of the string. The largest value would be the longest possible substring ending at the current position if it forms an odd integer.
- Traversal from the End:
- By traversing from the end, we can quickly identify the largest and longest substring that forms an odd integer.
Code
|
|
|
|
Complexity
- ⏰ Time complexity:
O(n)
, wheren
is the length of the stringnum
. We make a single pass through the string. - 🧺 Space complexity:
O(1)
for storing the result, aside from the input and output storage.