【2024-10-31-2024-11-03】LeetCode刷题——python语法基础题
📝前言说明:
●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,主要跟随B站作者灵茶山的视频进行学习,专栏中一篇文章为B站对应的一个视频
题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。
●文章中的理解仅为个人理解。
●文章中的截图来源于B站作者灵茶山,如有侵权请告知。
🎬个人简介:努力学习ing
📋本专栏:python刷题专栏
📋其他专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
这篇文章主要记录来自于LeetCode的编程基础0-1里面的基础题
一,交替合并字符串
class Solution:
def mergeAlternately(self, word1: str, word2: str) -> str:
i, n, m = 0, len(word1), len(word2)
ans = []
while i < n or i < m:
if i < n:
ans.append(word1[i])
if i < m:
ans.append(word2[i])
i+=1
return "".join(ans)
⭐笔记:利用一个i
同时控制两个字符串
二,移动零
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
l, r =0, 0
while r < len(nums):
if l == r or nums[r] == 0:
r += 1
elif nums[l] != 0:
l += 1
else:
nums[l] = nums[r]
nums[r] = 0
return nums
三,罗马数字转整数
class Solution:
def romanToInt(self, s: str) -> int:
ROMAN = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000}
ans = 0
for x, y in pairwise(s):
x, y = ROMAN[x], ROMAN[y]
ans += x if x >= y else -x
return ans + ROMAN[s[-1]]
pairwise
来源于itertools
模块,用于遍历s序列中的元素对:
将输入的可迭代对象(比如列表、元组等)中的元素按顺序两两配对,然后返回这些配对组成的迭代器。
from itertools import pairwise
s = [1, 2, 3, 4, 5]
for x, y in pairwise(s):
print(x, y)
# 输出:
# 1 2
# 2 3
# 3 4
# 4 5
四,反转链表
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
pre = None
cur = head
while cur:
nxt = cur.next
cur.next = pre
pre = cur
cur = nxt
return pre
运用类似“头插法的方式”,重点是要记录链表不同时刻(变换后)首元素的位置
🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!
原文地址:https://blog.csdn.net/tan_run/article/details/143378088
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!