首页 > 其他分享 >leedcode 反转链表

leedcode 反转链表

时间:2024-03-11 10:22:05浏览次数:14  
标签:cur 反转 leedcode li 链表 new my 节点

自己写的,遍历一遍链表,再反向生成一个新链表

class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        # 检查链表是否为空
        if not head:
            return None

        # 初始化一个空列表,用于存储原始链表节点的值
        my_li = []

        # 遍历原始链表,将节点值存储到列表中
        cur = head
        while cur != None:
            my_li.append(cur.val)
            cur = cur.next

        # 打印存储的节点值列表,方便调试
        print(my_li)

        # 初始化新链表的头节点,并将原始链表的最后一个节点值作为新链表的头节点值
        new_head = ListNode(my_li.pop())
        new_cur = new_head

        # 遍历原始链表节点值列表,创建新链表节点并逐个连接
        while my_li:
            new_node = ListNode(my_li.pop())
            new_cur.next = new_node
            new_cur = new_cur.next

        # 返回反转后的新链表的头节点
        return new_head

 

标签:cur,反转,leedcode,li,链表,new,my,节点
From: https://www.cnblogs.com/yyyjw/p/18065484

相关文章

  • 判断链表回文
    题目://方法一,空间复杂度O(n)classSolution{public:boolisPalindrome(ListNode*head){vector<int>nums;//放进数组后用双指针判断ListNode*cur=head;while(cur){nums.emplace_back(cur->val);cur=......
  • 通达信强烈反转指标,趋势改变上翘有力度源码
    {通达信强烈反转指标,趋势改变上翘有力度源码}N1:=20;N2:=60;VAR1:=(LOW+HIGH+CLOSE)/3;X:MA(VAR1,5);A1:HHV(X,N1)COLORMAGENTA;A2:HHV(X,N2),COLORGREEN;A3:HHV(HIGH,N2)*0.98,COLOR0000FF;B1:LLV(X,N1);B2:LLV(LOW,N2)*1.02;DRAWICON(X>B1ANDREF(X,1)=REF......
  • 通达信强烈反转主图指标公式源码
    {通达信强烈反转主图指标公式源码}N1:=20;N2:=60;VAR1:=(LOW+HIGH+CLOSE)/3;X:MA(VAR1,5);A1:HHV(X,N1)COLORMAGENTA;A2:HHV(X,N2),COLORGREEN;A3:HHV(HIGH,N2)*0.98,COLOR0000FF;B1:LLV(X,N1);B2:LLV(LOW,N2)*1.02;DRAWICON(X>B1ANDREF(X,1)=REF(B1,1),B1*0......
  • leedcode-同构字符串
    自己写的:classSolution:defisIsomorphic(self,s:str,t:str)->bool:#使用match函数分别检查s到t和t到s的映射关系res_a=self.match(s,t)res_b=self.match(t,s)#如果两个方向的映射关系都成立,则说明......
  • 探索数据结构:单链表的实战指南
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 代码随想录算法训练营第四天| 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点
    24.两两交换链表中的节点https://leetcode.cn/problems/swap-nodes-in-pairs/description/publicListNodeswapPairs(ListNodehead){if(head==null||head.next==null)returnhead;ListNoderes=head.next;ListNodepre=newListNod......
  • leedcode-移除链表元素
    自己写的:#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defremoveElements(self,head:Optional[ListNode],val):#初始化一个......
  • C 语言整数单链表的表示和实现 数据结构课程设计报告
     数据结构课程设计报告专业名称:计算机科学与技术 课程名称:数据结构        实训题目:整数单链表的表示和实现                           实训环境:C语言实现(DevC++)                    ......
  • 03——链表
    链表经典的链表应用场景:LRU缓存淘汰算法。缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?这就需要缓存淘汰策略来决......
  • leedcode 位1的数量
    自己写的classSolution:defhammingWeight(self,n:int)->int:#将整数n转换为二进制字符串,去除前缀'0b'n_str=bin(n)[2:]#用于存储'1'的列表res_li=[]#遍历二进制字符串的每一位foriinn_str:......