首页 > 代码库 > 24_leetcode_Swap Nodes in Pairs
24_leetcode_Swap Nodes in Pairs
描述:
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4
, you should return the list as 2->1->4->3
.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
思路:
简单粗暴,首先让p指向第一个节点,若果p.next不为空,q指向p.next,交换p和q的值即可,如果p.next为空,退出。交换值后,让q.next赋值给p,如果q.next为空的话,退出循环。
代码:
public ListNode swapPairs(ListNode head) { if(head==null||head.next==null) return head; ListNode pListNode=head,qListNode=null; int temp=0; while(pListNode.next!=null) { qListNode=pListNode.next; temp=pListNode.val; pListNode.val=qListNode.val; qListNode.val=temp; if(qListNode.next==null) break; else pListNode=qListNode.next; } return head; }
结果:
24_leetcode_Swap Nodes in Pairs
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。