整数中1出现的次数(从1到n整数中1出现的次数)

来源:互联网 发布:php输出99乘法表 编辑:程序博客网 时间:2024/05/24 15:39


class Solution {public:int NumberOf1Between1AndN_Solution(int n){int nCurBit = n % 10;        int nForward = n / 10;        int nBackward = 0;        int nBase = 1;        int nSum = 0;        while(n / nBase){            if(nCurBit == 0)                nSum += nForward * nBase;            else if(nCurBit == 1){             nSum += nForward * nBase;                nSum = nSum + nBackward + 1;            }else                nSum += (nForward + 1) * nBase;           nCurBit = nForward % 10;            nBase *= 10;            nForward = n / (nBase * 10);            nBackward = n % nBase;        }        return nSum;}};


0 0
原创粉丝点击