Study Plan For Algorithms - Part1
1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
num_dict = {}
for i, num in enumerate(nums):
complement = target - num
if complement in num_dict:
return [num_dict[complement], i]
num_dict[num] = i
return []
2. 两数相加
给定两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请将两个数相加,并以相同形式返回一个表示 和 的链表。
def addTwoNumbers(
self, l1: Optional[ListNode], l2: Optional[ListNode]
) -> Optional[ListNode]:
dummy = ListNode()
curr = dummy
carry = 0
while l1 or l2 or carry:
num1 = l1.val if l1 else 0
num2 = l2.val if l2 else 0
total = num1 + num2 + carry
carry = total // 10
curr.next = ListNode(total % 10)
curr = curr.next
if l1:
l1 = l1.next
if l2:
l2 = l2.next
return dummy.next
本文来自博客园,作者:WindMay,转载请注明原文链接:https://www.cnblogs.com/stephenxiong001/p/18360036