Leetcode 70-100习题选讲

73. 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法

如果遇到零就把行和列都变为零,那么最后所有元素都是0, 所以要先把要置零的行和列都存下来,然后再遍历一遍即可。

74. 搜索二维矩阵

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

这道题目就是将二维数组转化为一维数组然后用标准的二分查找

80. 删除排序数组中的重复项 II

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

这道题目是一道经典的双指针题目,遍历过程中核心公式为 nums[i++] = nums[j] if(i<2 || nums[j]>nums[i-2])

100. 相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

这是一道基本的二叉树遍历问题。

 

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/89683665