做平面设计都在那个网站找免费素材?济南网站建设服务商
news/
2025/9/27 3:45:01/
文章来源:
做平面设计都在那个网站找免费素材?,济南网站建设服务商,手机版网站制作模板,新乡哪里有做网站的两两交换链表中的节点 leetcode24
递归 两个节点一递归
第一次即成功#xff0c;泪目#xff01;#xff01;
// 每两个进行一次交换
func swapPairs(head *ListNode) *ListNode {//每两个的第一个节点var pre *ListNode//递归结束条件#xff0c;即当剩下的节点不满足两…两两交换链表中的节点 leetcode24
递归 两个节点一递归
第一次即成功泪目
// 每两个进行一次交换
func swapPairs(head *ListNode) *ListNode {//每两个的第一个节点var pre *ListNode//递归结束条件即当剩下的节点不满足两个时if head nil || head.Next nil {return head}//保留递归的子节点cur : head.Next.Next//交换本次的顺序pre head.Nextpre.Next head//1 2 3 4 - 2 1 4 3//第三个节点开始进行递归且如果交换指向的应该是交换过后的次序即本来的第四个pre.Next.Next swapPairs(cur)//将交换次序后的返回return pre}迭代方法虚拟头节点
// 使用迭代方法
// 不能操之过急这里前面迭代完连接的应当还是未交换过的次序
func swapPairs(head *ListNode) *ListNode {dummyHead : ListNode{}cur : dummyHead //用来保存当前位置//赋予初始值cur.Next head//结束条件即后续节点不满足两个for cur.Next ! nil cur.Next.Next ! nil {//要交换的两个节点记为node1和node2下一次迭代的起始定义为next//h* 1 2 3 4node1 : cur.Nextnode2 : cur.Next.Nextnext : cur.Next.Next.Next//交换步骤cur.Next node2node2.Next node1node1.Next next//更改下次迭代的开始节点cur node1}//由于使用虚拟头节点返回真实的链表return dummyHead.Next
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919050.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!