/** * 题目: * 输入一个链表,反转链表后,输出新链表的表头。 */ public class P142_ReverseLinkedlist { public ListNode ReverseLinkedlist(ListNode head) { if (head == null) { return null; } //当前结点 ListNode Node = head; //返回头结点 ListNode reverseNode = null; // 当前结点的前一个结点 ListNode preNode = null; while (Node != null) { //将结点的下一个结点保存起来,以防断链 ListNode nextNode = Node.next; if (nextNode == null) { reverseNode = Node; } Node.next = preNode; preNode = Node; Node = nextNode; } return reverseNode; } public static void main(String[] args) { ListNode node1 = 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); node1.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; node5.next = node6; node6.next = node7; node7.next = null; P142_ReverseLinkedlist test = new P142_ReverseLinkedlist(); ListNode result = test.ReverseLinkedlist(node1); System.out.print(result.val); } }
剑指offer:反转链表(java)
最新推荐文章于 2025-04-20 16:49:26 发布