刷题笔记2022.3.5
- 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。标签上有个位运算。不会操作。
一个数 n是 2 的幂,当且仅当 n是正整数,并且 n 的二进制表示中仅包含 1 个 1。因此我们可以考虑使用位运算,将 n 的二进制表示中最低位的那个 1 提取出来,再判断剩余的数值是否为 0 即可。
- 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数。
移位运算:1<<i 是将1左移i位,即第i位为1,其余位为0;
- bst。我会递归了,就是要注意最后也得有个返回nullptr。
- 问题在于,我想递归,但是每次都需要输出初始的root。
解决方法就是用root->left来承接递归的结果。