Largest Odd Number in a String
The problem
Given a string s, representing a large integer, the task is to return the largest-valued odd integer (as a string) that is a substring of the given string s.
The number returned should not have leading zero's. But the given input string may have leading zero. (If no odd number is found, then return empty string.)
Input : s = "5347" Output : "5347" Explanation : The odd numbers formed by given strings are --> 5, 3, 53, 347, 5347. So the largest among all the possible odd numbers for given string is 5347.
Input : s = "0214638" Output : "21463" Explanation : The different odd numbers that can be formed by the given string are --> 1, 3, 21, 63, 463, 1463, 21463. We cannot include 021463 as the number contains leading zero. So largest odd number in given string is 21463.
Input : s = "0032579"
- 1 <= s.length <= 103
- '0' <= s[i] <= '9'
cpp
class Solution{
public:
string largeOddNum(string& s){
//your code goes here
}
};java
class Solution {
public String largeOddNum(String s) {
//your code goes here
}
}python
class Solution:
def largeOddNum(self, s: str) -> str:
#your code goes herejavascript
class Solution {
largeOddNum(s) {
//your code goes here
}
}csharp
class Solution
{
public string LargeOddNum(string s)
{
// your code goes here
}
}go
func largeOddNum(s string) string {
//your code goes here
n := len(s)
for i := n - 1; i >= 0; i-- {
digit := s[i] - '0'
if digit%2 == 1 {
res := s[:i+1]
firstNonZero := 0
for firstNonZero < len(res)-1 && res[firstNonZero] == '0' {
firstNonZero++
}
return res[firstNonZero:]
}
}
return ""
}Stuck? Show a way to structure it+
- 01Find the rightmost odd digit.
- 02If none exists, return empty.
- 03Take the prefix ending at that digit.
- 04Remove leading zeroes from that prefix, returning empty if nothing remains.
Reference answer
Then expect these follow-ups
How would you find the largest even substring?
Tests: condition variation
Why is a prefix optimal among valid candidates?
Tests: greedy proof
Hiring now
Software engineer roles are open right now
landed applies to roles like these for you, on each company’s own site, with answers written for the role.

Senior Software Engineer -.NET
Tyler Technologies · Annapolis, Maryland

Software Development Engineer II
SaaS Labs · Bengaluru, Karnataka, India

Advanced Software Engineer - Product Architect (Legal, Safety, and Risk)
Metropolitan Transportation Authority · New York, NY
Next question