//没什么思辨性的题目,完全是代码的基本功,贴代码如下:不过有一个教训,写任意一个函数都要考虑边界条件,我似乎还没有这个习惯
public ListNode swapPairs(ListNode head) {
ListNode p = head;
ListNode previous = null;
ListNode ret = p;
while(p!=null && p.next!=null){
p = switchP(previous, p);
if(previous == null){
ret = p;
}
previous = p.next;
p=p.next.next;
}
return ret;
}
private ListNode switchP(ListNode previous, ListNode curNode){
ListNode nextNode = curNode.next;
if(previous!=null){
previous.next = nextNode;
}
curNode.next = nextNode.next;
nextNode.next = curNode;
return nextNode;
}
leetcode雕虫小技之medium模式24. Swap Nodes in Pairs
最新推荐文章于 2024-11-05 21:58:11 发布