mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
@ -103,24 +103,44 @@ public:
|
|||||||
|
|
||||||
Java:
|
Java:
|
||||||
```java
|
```java
|
||||||
|
// 双指针
|
||||||
class Solution {
|
class Solution {
|
||||||
public ListNode reverseList(ListNode head) {
|
public ListNode reverseList(ListNode head) {
|
||||||
if (head == null || head.next == null) return head;
|
ListNode prev = null;
|
||||||
ListNode last = head;
|
ListNode cur = head;
|
||||||
ListNode cur = head.next;
|
ListNode temp = null;
|
||||||
head.next = null;
|
while (cur != null) {
|
||||||
while (cur.next != null) {
|
temp = cur.next;// 保存下一个节点
|
||||||
ListNode tmp = cur.next;
|
cur.next = prev;
|
||||||
cur.next = last;
|
prev = cur;
|
||||||
last = cur;
|
cur = temp;
|
||||||
cur = tmp;
|
|
||||||
}
|
}
|
||||||
cur.next = last;
|
return prev;
|
||||||
return cur;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```java
|
||||||
|
// 递归
|
||||||
|
class Solution {
|
||||||
|
public ListNode reverseList(ListNode head) {
|
||||||
|
return reverse(null, head);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ListNode reverse(ListNode prev, ListNode cur) {
|
||||||
|
if (cur == null) {
|
||||||
|
return prev;
|
||||||
|
}
|
||||||
|
ListNode temp = null;
|
||||||
|
temp = cur.next;// 先保存下一个节点
|
||||||
|
cur.next = prev;// 反转
|
||||||
|
// 更新prev、cur位置
|
||||||
|
prev = cur;
|
||||||
|
cur = temp;
|
||||||
|
return reverse(prev, cur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user