leetcode 1404. 将二进制表示减到 1 的步骤数-耗时100

leetcode 1404. 将二进制表示减到 1 的步骤数-耗时100 Problem: 1404. 将二进制表示减到 1 的步骤数耗时100%在s最前面加上一个0然后将最后的0都pop掉若s01则返回计数统计s后面1的个数若当前是0则修改到1并且break累加计数c 1cnt 1是奇数所以加一将进位以后的0都pop掉Codeclass Solution { public: int numSteps(string s) { int c 0, n, cnt; s 0 s; while(s.size()!1) { while(s.back()0) { s.pop_back(); c; } if(s01) return c; n s.size(); cnt 0; for(int i n - 1; i 0; i--) { if(s[i]0) { s[i] 1; break; } cnt; } c 1 cnt; while(cnt--) s.pop_back(); } return c; } };