当前位置: 首页> 游戏> 攻略 > 手机商城网站设计_照片制作视频软件_百度推广联系人_百度客服人工电话95188

手机商城网站设计_照片制作视频软件_百度推广联系人_百度客服人工电话95188

时间:2025/7/29 13:10:17来源:https://blog.csdn.net/2301_79390585/article/details/144800785 浏览次数:0次
手机商城网站设计_照片制作视频软件_百度推广联系人_百度客服人工电话95188

24. 两两交换链表中的节点 - 力扣(LeetCode)

递归写法

做题思路:把需要交换的两个数的前一个数作为参数传入,然后使用一个变量保存这两个变量的后一个数,交换这个两个数,最后把第二个数(原第一个数)的next指向这个方法(next作为参数传入)的返回值,最后返回第一个数(原第二个数)。结束条件为最后只剩下一个值或者刚好交换完。

代码:

public ListNode swapPairs(ListNode head) {//结束条件if(head==null||head.next==null){return head;}ListNode next,p,q;p=head;q=head.next;next=q.next;q.next=p;p.next=swapPairs(next);return q;
}
迭代写法

做题思路:和递归相似。把原本的head前置用于保证链表不断开并且检测是否可以继续进行交换。使用前置节点代替了递归的功能。

代码:

public ListNode swapPairs(ListNode head) {ListNode pre,t,p;pre=t=new ListNode(1,head);while(pre.next!=null&&pre.next.next!=null){head=pre.next;p=pre.next.next;head.next=p.next;p.next=head;pre.next=p;pre=head;}return t.next;
}

关键字:手机商城网站设计_照片制作视频软件_百度推广联系人_百度客服人工电话95188

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: