单链表的反转
参考来源 > 自己的理解 Node cur = head . next ; Node cur_next = null ; Node reverseHead = new Node ( 0 ) ; //全新的空节点,用于存放反转的节点 while ( cur != null ) { //cur不为空即为遍历结束 cur_next = cur . next ; cur . next = reverseHead . next ; //这里的rhead.next会把ur.next给占用了,因此需要提前保留cur.next到cur_next reverseHead . next = cur ; cur = cur_next ; System . out . println ( reverseHead . toString ( ) ) ; // System.out.println(); } head . next = reverseHead . next ; 假设链表为 1>2>3>4 (1)不算头结点,把第一个节点设置为当前节点,即为cur,此时的cur的next 是指向原链表(2,3,4),需要把这个指向关系给断掉,就让cur的next指向一个新建q为null,这个时候第一个节点和q就组成了新的链表,cur.next是null,就不是原链表(2,3,4)了,这个时候再把第一个节点(cur