主页 > IT业界  > 

leetcode热题100学习计划-链表-反转链表


思路

使用头插法逆转链表

注:链表一般为操作方便,头结点不存值,是一个虚拟节点 代码 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode reverseList(ListNode head) { //使用头插法 //虚拟节点, ListNode dummynode=new ListNode(0); dummynode.next=null; ListNode curr = head; ListNode q=null; while (curr != null) { //把第一个结点保存一下 q=dummynode.next; //把当前结点接在虚拟节点后面 dummynode.next=curr; //当前结点移到下一个结点 curr=curr.next; //把之前的拼回去 dummynode.next.next=q; } return dummynode.next; } }
标签:

leetcode热题100学习计划-链表-反转链表由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“leetcode热题100学习计划-链表-反转链表