237
题目描述:
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。
现有一个链表 – head = [4,5,1,9],它可以表示为:
示例:
解答:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteNode(self, node):
"""
:type node: ListNode
:rtype: void Do not return anything, modify node in-place instead.
"""
node.val=node.next.val
node.next=node.next.next
1281
题目描述:
给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。
示例:
解答:
class Solution:
def subtractProductAndSum(self, n: int) -> int:
sum1=1
sum2=0
while (n!=0):
sum1*=n%10
sum2+=n%10
n=n//10 #必须用“//”取整除法,“/”除法保留小数
return sum1-sum2
1342
题目描述:
给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。
示例:
解答:
class Solution:
def numberOfSteps (self, num: int) -> int:
ret=0
while(num!=0):
if num%2==0:
num/=2
else:
num-=1
ret+=1
return ret
1365
题目描述:
给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。
换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。
以数组形式返回答案。
示例:
解答:
class Solution:
def smallerNumbersThanCurrent(self, nums: List[int]) -> List[int]:
output=[]
for i in range(len(nums)):
sum=0
for j in range(len(nums)): #不需要判断j是否等于i,因为相等值必不满足小于关系
if nums[j]<nums[i]:
sum+=1
output.append(sum)
return output
1662
题目描述:
给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。
数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。
示例:
解答:
class Solution:
def arrayStringsAreEqual(self, word1: List[str], word2: List[str]) -> bool:
'''
join()函数连接字符串数组,将字符串数组以指定分隔符连接成新的字符串
'''
return ''.join(word1)==''.join(word2)