链表逆转

反转链表

http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca

普通的写法就是把链表存起来,然后反向构造。
其实链表翻转就是担心会丢失后面的节点的指针。
一共用到了四个指针。
三个相邻的节点指针 node1,node2,node3,然后还有一个指针用来存上一轮循环的node2(preNode2)
node1的next指向上一轮的node2(preNode2),node2的next指向node1。
然后构造下一轮循环参数:
preNode2 = node2;
node1 = node3;
node2 = node1.next;
node3 = node2.next;
期间还需要判断到哪一个node变为null了,变为null的时候即可返回它的上一个node即为新的头指针。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务