题解 | #十进制数转二进制数#
十进制数转二进制数
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); } }#进制转换#