博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode Online Judge 题目C# 练习 - Swap Nodes in Pairs
阅读量:5237 次
发布时间:2019-06-14

本文共 1275 字,大约阅读时间需要 4 分钟。

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.

1         public static LinkedListNode SwapNodesinPairs2(LinkedListNode head) 2         { 3             if (head == null || head.Next == null) 4                 return head; 5  6             LinkedListNode fakehead = new LinkedListNode(); 7             fakehead.Next = head; 8  9             LinkedListNode l1 = head;10             LinkedListNode l2 = head;11             LinkedListNode prev = fakehead;12             LinkedListNode ret = head.Next;13             LinkedListNode next = head;14             15             while (next != null && next.Next != null)16             {17                 l1 = next;18                 l2 = next.Next;19                 next = next.Next.Next;20                 l2.Next = l1;21                 l1.Next = next;22                 prev.Next = l2;23                 prev = l1;24             }25 26             return ret;27         }

代码分析:

  看来我的总结是正确的,每遇到Linked List的题都在前面加个fakehead. 后面的逻辑就方便很多,不用判断这个那个。

转载于:https://www.cnblogs.com/etcow/archive/2012/10/19/2730357.html

你可能感兴趣的文章
笔记:html常见的兼容问题
查看>>
如何获取HTML中Select选中项的值
查看>>
什么是Reactor模式,或者叫反应器模式
查看>>
高效程序员的工作场所和装备
查看>>
【GO基础】main redeclared in this block问题的排查与解决
查看>>
给按钮添加 toSearch_Button.setOnClickListener(this);出错 解决办法
查看>>
python之线程、进程入门
查看>>
English trip M1 - PC7 Can I Borrow Your Ping-Pong? Teacher:Patrick
查看>>
Windbg+Procdump解决w3wp.exe CPU过百问题
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
async await 和 task的区别和理解(可能有错)
查看>>
使用自定义比较操作符排序,查找
查看>>
vector详解
查看>>
模拟一位顾客去银行取钱的情形
查看>>
hihocoder-1497-Queen Attack
查看>>
js 函数 理解
查看>>
hibernate增删改查
查看>>
BZOJ-1069 [SCOI2007]最大土地面积
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>