Leetcode--24. 两两交换链表中的结点
給定一個鏈表,兩兩交換其中相鄰的節點,并返回交換后的鏈表。
你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。
?
示例:
給定 1->2->3->4, 你應該返回 2->1->4->3.
提交的代碼:
/**
?*?Definition?for?singly-linked?list.
?*?public?class?ListNode?{
?*?????int?val;
?*?????ListNode?next;
?*?????ListNode(int?x)?{?val?=?x;?}
?*?}
?*/
class?Solution?{
????public?ListNode?swapPairs(ListNode?head)?{
????????ListNode?p?,q,temp,t=head;
????????if(t!=null&&t.next!=null)
????????{
????????????p?=?t;
????????????q?=?t.next;
????????????p.next?=?q.next;
????????????q.next?=?p;
???????????temp??=?p;
????????????p?=?q;
????????????q?=?temp;
????????????head?=?p;
????????}
??????//System.out.println(p.val+"?"+q.val+"?"+head.val+"?"+head.next.val);
????????while(t!=null&&t.next!=null&&t.next.next!=null)
????????{
????????????p?=?t.next;
????????????q?=?t.next.next;
????????????p.next?=?q.next;
????????????q.next?=?p;
????????????temp??=?p;
????????????p?=?q;
????????????q?=?temp;
????????????t.next=p;
????????????t?=?t.next.next;
??????????//?System.out.println(p.val+"?"+q.val);
????????}
????????return?head;
????}
}
總結
以上是生活随笔為你收集整理的Leetcode--24. 两两交换链表中的结点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组成原理——总线系统总结
- 下一篇: centos 7 网络设置与图像化界面下