Description
Submission
class Solution { public: int numSteps(string s) { int ret = 0; for(; s != "1"; ret++) { if(s.back() == '1') { // add 1 auto iter = prev(s.end()); for(; iter != s.begin() && *iter != '0'; --iter) { *iter = '0'; } if(iter == s.begin() && *iter == '1') { *iter = '0'; s.insert(s.begin(), '1'); } else { *iter = '1'; } } else { // divide by 2 s.pop_back(); } } return ret; } };