单链表反转

某公司面试题

 

有如下数据结构

class Node
{
    public int Value { get; set; }

    public Node Next { get; set; }
}

现有一个Node node对象,表示一个单向链表,实现方法反转这个链表

public Node ReverseNode(Node node)
{
    if (node.Next == null)
    {
        return node;
    }

    Node temp = ReverseNode(node.Next);
    node.Next.Next = node;
    node.Next = null;

    return temp;
}

使当前节点的下一个节点的指针指向自己,然后将当前节点到下一个节点的断开

 

其他实现: 

http://www.2cto.com/kf/201110/106607.html

 

posted on 2015-06-29 09:29  alex_cool  阅读(241)  评论(0编辑  收藏  举报