刷题之前先把这100道题里做过的回顾一下再开始今天的三道题。巩固一下。
题1:两数之和
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] results=new int[2];
if (nums.length==0||nums==null){
return null;
}
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<nums.length;i++){
int temp= target-nums[i];
if (map.containsKey(temp)){
results[1]=i;
results[0]=map.get(temp);
}
map.put(nums[i],i);
}
return results;
}
}
HashMap的经典用法案例,同时解题思想也很有趣,通过排查筛选每一次存入map中的元素里有没有target的差值temp。比较简单,开拓思维。
题2:两数相加
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummyHead=new ListNode(-1),pre=dummyHead;