剑指 Offer 07. 重建二叉树(中等)*
题目:
输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。
假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
思路:
第二十一天(位运算)
剑指 Offer 15. 二进制中1的个数(简单)
题目:leetcode:剑指 Offer 15. 二进制中1的个数
思路:
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int x=1;
int sum=0;
while(n!=0){
//此处记得括号
if((n&x)==1){
sum++;
}
//可以将上面一步到位
// sum += n & 1;
//本题要求把数字 n 看作无符号数,因此使用 无符号右移 操作
//无符号的移动为>>>
n=n>>>1;
}
return sum;
}
}
剑指 Offer 65. 不用加减乘除做加法(简单)*
题目:leetcode:剑指 Offer 65. 不用加减乘除做加法
思路:
这道题的题解主要参考k神题解
class Solution {
public int add(int a, int b) {
while(b != 0) { // 当进位为 0 时跳出
int c = (a & b) << 1; // c = 进位
a ^= b; // a = 非进位和
b = c; // b = 进位
}
return a;
}
}