当前位置: 首页 > article >正文

leetcode hot100 两两交换链表之中的节点

24. 两两交换链表中的节点

已解答

中等

相关标签

相关企业

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)

# Definition for singly-linked list.

# class ListNode(object):

#     def __init__(self, val=0, next=None):

#         self.val = val

#         self.next = next

class Solution(object):

    def swapPairs(self, head):

        """

        :type head: Optional[ListNode]

        :rtype: Optional[ListNode]

        """

        start = None

        prev =None

        p=head

        count=1

        while p:

            if count%2==1 and p.next:

                if count == 1:

                    start = p.next

                tmp = p.next

                p.next = tmp.next

                tmp.next = p

                if prev:

                    prev.next = tmp

                count+=1

            elif count%2==1:

                if count==1:

                    return head

                else:

                    return start

            else:

                count+=1

                prev=p

                p=p.next

        return start

           

简单,认真写就行


http://www.kler.cn/a/450600.html

相关文章:

  • C++23新特性解析:[[assume]]属性
  • 《三角洲行动》游戏运行时提示“缺失kernel32.dll”:问题解析与解决方案
  • 蓝牙协议——音量控制
  • Rasa框架的优点和缺点
  • 使用idea创建JDK8的SpringBoot项目
  • Java 中压缩图片并应用 EXIF 旋转信息
  • 深度学习从入门到精通——图像分割实战DeeplabV3
  • 基于Springboot的在线问卷调查系统【附源码】
  • JVM执行引擎JIT深度剖析
  • 【MySQL】InnoDB存储引擎中的索引
  • 深入理解C++23的Deducing this特性(下):高级应用与实战技巧
  • mapbox基础,加载mapbox官方地图
  • RGCL:A Review-aware Graph Contrastive Learning Framework for Recommendation
  • 自动驾驶系统研发系列—追尾风险不再隐形:解密后碰撞预警系统(RCW)的技术与应用
  • 交通控制系统中的 Prompt工程:引导LLMs实现高效交叉口管理 !
  • ensp 基于静态NAT发布公司网站服务器,
  • WebGL2示例项目常见问题解决方案
  • Wireshark时间设置介绍:时间格式、时间参考和时间平移
  • [Linux] Shell 命令及运行原理
  • 测开面经分享(偏Python)
  • 【双指针算法】--复写零
  • 编程新选择:深入了解仓颉语言的优雅与高效
  • 华为OD E卷(100分)32-字符串分割
  • C中设计不允许继承的类的实现方法是什么?
  • 一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
  • Pion WebRTC 项目教程