leetcode刷题系列第三周

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的使用。

猜你喜欢

转载自blog.csdn.net/u013814184/article/details/82377397
今日推荐