java之链表反转

对于链表来说,反转其本身和数组是不太一样的。数组和某些集合类有其本身的索引值,可以利用指针进行判断反转,但是链表没有固定的索引值,所以需要利用迭代的方式进行反转。

  public ListNode reverseList(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;
        while (cur != null) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }
    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;
        }
    }

版权声明:本文为weixin_48845174原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。