java单链表倒置

来源:互联网 发布:淘宝号怎么看注册时间 编辑:程序博客网 时间:2024/06/14 19:19
package offer;/* * 反转单链表 */public class ReverseLinked {    public static void main(String[] args) {        ListNode head = new ListNode(1);        ListNode node2 = new ListNode(2);        ListNode node3 = new ListNode(3);        ListNode node4 = new ListNode(4);        ListNode node5 = new ListNode(5);        ListNode node6 = new ListNode(6);        ListNode node7 = new ListNode(7);        head.next = node2;        node2.next = node3;        node3.next = node4;        node4.next = node5;        node5.next = node6;        node6.next = node7;        ListNode ln = reverse(head);        //打印反转后的单链表        while (ln != null){            System.out.println(ln.val);            ln = ln.next;        }    }    private static ListNode reverse(ListNode head) {        ListNode pre = null;        ListNode now = head;        ListNode next = null;        ListNode result = null;        while (now != null) {            next = now.next; //保存当前节点的下一个节点            if (next == null) {                result = now;            }            now.next = pre;            pre = now;            now = next;        }        return result;    }}
原创粉丝点击