从今天起我开始记录我的leetcode刷题,并在这里分享我的刷题思路。希望对大家有所帮助,如果有更好的解法和思路也可以在评论区进行交流。话不多说,直接开整。
题目描述:
我看到这道题脑子里面想法就是两个循环。具体思路如下:
这里我们使用两个for循环来进行具体讲解(其他循环也是可以的,思路都是一样。),第一个for循环中变量为n。n的初始值为0。第一个循环的作用就是遍历数组中的所有元素。第二个for循环为嵌套循环(即第二个for循环在第一个for循环内),其中的变量为j。j的初始值为n+1。第二个循环的作用就是去遍历数组的剩下的元素并与第一个循环中的元素进行匹配看两者之和是否为target。
OK,在这里可能会有人还是不懂,没事,我举个具体的例子。假设n从0开始。那么j就从1开始。这个时候我们判断nums[n]+nums[j]是否等于target。如果不等于,那么j+1,再次进入第二个循环,再判断nums[n]+nums[j]是否等于target。如果相等,则返回n与j的值。如果不相等,j一直j++直到j的值不满足for循环中的判定条件,跳出第二层循环。这个时候第一层循环第一次完成,n+1,然后继续刚刚的步骤。
如果最后发现这个数组里面没有满足两个值等于target,就返回一个空(不一定是空也可以是其他适当的值)。
那让我们看看完整的代码是怎么样的。