aboutsummaryrefslogtreecommitdiff
path: root/largest_odd_num_string.cpp
blob: 019d609d5a9d23e2d93724e4f68874deacef660c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "leetcode.h"

class Solution {
public:
  string largestOddNumber(string num) {
    if (num.back() == '0')
      num.pop_back();
    int back = stoi(num) % 10;
    if (back % 2 == 0) {
      for (int i = 0; i < num.size(); i++)
        if (num[i] % 2 == 0)
          num.erase(i, 1), i--;
      if (num.size() < 2)
        return num;
      else
        for (int i = 0; i < num.size(); i++)
          if (num[i] < num[i + 1])
            return num.substr(i + 2, 1);
    } else
      return num;
    return string();
  }
};

int main() {
  Solution obj;
  cout << endl << obj.largestOddNumber("10133890");
}