9月3日
867. Transpose Matrix
- 我的思路:通过数组下标翻转矩阵。
- 优秀代码:思路一致,多了空矩阵的判断。
- 学习内容:矩阵A int rowLength=A.length; int columnLength=A[0].length。做题时注意边界情况的判断,降低耗时提高通过率。
9月4日
806. Number of Lines To Write String
- 学习内容:学会设置中间变量简化运算。
9月7日
476. Number Complement
- 我的思路:int型转换成二进制,二进制改变0和1的值,再将二进制转化成十进制。
- 优秀代码:使用与或非等进行计算;
- 学习内容:补码、位运算
class Solution { public int findComplement(int num) { int i = 0; int j = 0; while (i < num) { i <<= 1; i |= 1; } return i - num; } }
class Solution { public int findComplement(int num) { int mask = ~0; while ((num & mask) != 0) { mask = mask << 1; } return (~mask) & (~num); } }
class Solution { public int findComplement(int num) { int res = 0; int mul = 1; while (num > 0) { int temp = (num & 1) ^ 1; res += temp * mul; num >>= 1; mul <<= 1; } return res; } }
9月9日
344. Reverse String
扫描二维码关注公众号,回复:
3145905 查看本文章
- 我的思路:使用StringBuffer的append()函数。没有将字符串转换成字符数组反向输出耗时短。
- 学习内容:StringBuffer的使用。