Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269964
  • 博文数量: 170
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1709
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-06 18:01
文章分类

全部博文(170)

文章存档

2016年(11)

2015年(130)

2014年(29)

分类: Java

2015-10-04 12:27:53

public class NumberofDigitOne {


public static void main(String[] args) {
// TODO Auto-generated method stub


}
//总和等于前面位的和加上这一位的1的总和,还有如果这一位是1的话加上前面树的个数。
public int countDigitOne(int n) {
       if(n<1)
      return 0;
       int count=0;
       int mod;
       
       int init=0;
       int add=1;
       int m=n;
       int prenum=0;
       while(m>0){
     mod=m%10;
       m/=10;
       
     if(mod==1){
     count+=init+1+prenum;
     }
     if(mod>=2){
     count+=mod*init+add;
     }
     init=init*10+add;
     prenum+=mod*add;
     add*=10;
     
     
       }
       return count;
    }


}

阅读(688) | 评论(0) | 转发(0) |
0

上一篇:Validate Binary Search Tree

下一篇:MoveZeroes

给主人留下些什么吧!~~