题解 | #十进制数转二进制数#

十进制数转二进制数

https://www.nowcoder.com/practice/90d2de77e05e497eacc85e6b50272900

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
	  个人理解:解法1和解法2通用性都比较强,利用栈的话,就是考虑到他先进后出的性质,刚好满足进制转换时倒着
	  输出结果的特点;而利用字符串呢?因为它的拼接具有顺序性,可以很好的应对进制转换时对应倒着的特点
        
        //解法1:用栈实现二进制转换
         Stack<Integer> res=new Stack();
          while(num>=2){
           res.push(num%2);
           num/=2;
          }
         res.push(num);//加入最后一个元素
        while(!res.isEmpty()){
          System.out.print(res.peek());
          res.pop();
          }
        //---------------------------------------
    //解法二
    String str="";
    while(num>=2){
        str=num%2+str;
        num/=2;
    }
    str=num+str;
    System.out.println(str);
    }
}

#进制转换#
全部评论

相关推荐

07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
身边有人上海、深圳&nbsp;6、7k&nbsp;都去了,真就带薪上班了。
程序员小白条:木的办法, 以后越来越差,还是家附近宅着吧,毕业的人越来越多,岗位都提供不出来,经济又过了人口红利期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务