给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
示例输入:head = [1,2,3,4]
输出:[2,1,4,3]
class Solution {public ListNode swapPairs(ListNode head) {if(head==null){return head;
}
ListNode node = new ListNode(-1);
node.next = head;
ListNode cur=node;
while (cur!=null&&cur.next!=null&&cur.next.next!=null){ListNode tmp = cur.next.next;
cur.next.next = cur.next.next.next;
tmp.next = cur.next;
cur.next = tmp;
cur=cur.next.next;
}
return node.next;
}
}
Java代码(递归解决)class Solution {public ListNode swapPairs(ListNode head) {if(head == null || head.next == null) {return head;
}
ListNode next = head.next;
ListNode newNode = swapPairs(next.next);
next.next = head;
head.next = newNode;
return next;
}
}
python代码class Solution:
def swapPairs(self, head: Optional[ListNode]) ->Optional[ListNode]:
if not head or not head.next:
return head
cur = head.next.next
head.next.next = head
head = head.next
head.next.next = self.swapPairs(cur)
return head
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享题目:OJ练习第30题——两两交换链表中的节点-创新互联
标题路径:https://www.cdcxhl.com/article40/ddjjeo.html
成都网站建设公司_创新互联,为您提供服务器托管、外贸建站、企业建站、虚拟主机、网站维护、标签优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联