线性数据结构案例2 —— 单链表反转
一、介绍
我们首先创建一个新的头节点交reverseHead,遍历我们原来的链表,每遍历一个就放在新链表的最前端,最后将原来链表的头节点的后续节点指向新链表头节点的后续节点。
二、代码
public void reverseSingleLinkedList(Node head) {
// 如果链表为空 或者只有一个元素就没必要反转了
if (head.next == null || head.next.next == null) {
return;
}
Node reverseHead = new Node(0, "");
Node temp = head.next;
Node tempNext = null;
while (temp != null) {
tempNext = temp.next;
temp.next = reverseHead.next;
reverseHead.next = temp;
temp = tempNext;
}
head.next = reverseHead.next;
}

浙公网安备 33010602011771号