class MyLinkNode<T>
{
public MyLinkNode<T> Next;
public T Value;
}
class MyLinkLst<T>
{
public MyLinkNode<T> Head;
public MyLinkNode<T> Last;
public MyLinkNode<T> AddLast(T value)
{
var node = new MyLinkNode<T>();
node.Value = value;
if (Head == null)
{
Head = node;
Last = node;
}
else
{
Last.Next = node;
Last = node;
}
return Last;
}
public void Reverse()
{
var count = 0;
var tempHead = Head;
var first = tempHead;
var second = first.Next;
while (first != null && second != null)
{
first.Next = second.Next;
second.Next = tempHead;
tempHead = second;
second = first.Next;
count++;
}
var temp = Last;
Last = Head;
Head = temp;
Console.WriteLine(string.Format("执行了{0}次", count));
}
}
单链表的倒置
时间复杂度为O{n},个人感觉已经很快了,空间复杂度为O{1},花了1个小时复习了下数据结构捣鼓出来的