8ga易塔云建站-模板下载,web开发资源,技术博客8ga易塔云建站-模板下载,web开发资源,技术博客详细图解过程(纯exl手打)。8ga易塔云建站-模板下载,web开发资源,技术博客
8ga易塔云建站-模板下载,web开发资源,技术博客
8ga易塔云建站-模板下载,web开发资源,技术博客8ga易塔云建站-模板下载,web开发资源,技术博客8ga易塔云建站-模板下载,web开发资源,技术博客Java版本:
public ListNode reverseList (ListNode head) {8ga易塔云建站-模板下载,web开发资源,技术博客
ListNode prev = null;//让prev指针指向null8ga易塔云建站-模板下载,web开发资源,技术博客
ListNode curr = head;//让当前指针指向head8ga易塔云建站-模板下载,web开发资源,技术博客
while (curr != null) {8ga易塔云建站-模板下载,web开发资源,技术博客
ListNode next = curr.next;8ga易塔云建站-模板下载,web开发资源,技术博客
curr.next = prev;//此时第一次执行,指向着null8ga易塔云建站-模板下载,web开发资源,技术博客
prev = curr;8ga易塔云建站-模板下载,web开发资源,技术博客
curr = next;8ga易塔云建站-模板下载,web开发资源,技术博客
}8ga易塔云建站-模板下载,web开发资源,技术博客
return prev;8ga易塔云建站-模板下载,web开发资源,技术博客
}
JavaScript版:
function reverseList (head) {8ga易塔云建站-模板下载,web开发资源,技术博客
let prev = null;//any类型8ga易塔云建站-模板下载,web开发资源,技术博客
let curr = head;//any类型8ga易塔云建站-模板下载,web开发资源,技术博客
while (curr != null) {8ga易塔云建站-模板下载,web开发资源,技术博客
const next = curr.next;//强声明,值不可变8ga易塔云建站-模板下载,web开发资源,技术博客
curr.next = prev;8ga易塔云建站-模板下载,web开发资源,技术博客
prev = curr;8ga易塔云建站-模板下载,web开发资源,技术博客
curr = next;8ga易塔云建站-模板下载,web开发资源,技术博客
}8ga易塔云建站-模板下载,web开发资源,技术博客
return prev;8ga易塔云建站-模板下载,web开发资源,技术博客
}
8ga易塔云建站-模板下载,web开发资源,技术博客其实定义的next算是一个临时变量,tmp。这个tmp会将curr的下一个节点临时保存起来。所以其实是:
class Solution {8ga易塔云建站-模板下载,web开发资源,技术博客
public ListNode reverseList(ListNode head) {8ga易塔云建站-模板下载,web开发资源,技术博客
//申请节点,pre和 cur,pre指向null8ga易塔云建站-模板下载,web开发资源,技术博客
ListNode pre = null;8ga易塔云建站-模板下载,web开发资源,技术博客
ListNode cur = head;8ga易塔云建站-模板下载,web开发资源,技术博客
ListNode tmp = null;8ga易塔云建站-模板下载,web开发资源,技术博客
while(cur!=null) {8ga易塔云建站-模板下载,web开发资源,技术博客
//记录当前节点的下一个节点8ga易塔云建站-模板下载,web开发资源,技术博客
tmp = cur.next;8ga易塔云建站-模板下载,web开发资源,技术博客
//然后将当前节点指向pre8ga易塔云建站-模板下载,web开发资源,技术博客
cur.next = pre;8ga易塔云建站-模板下载,web开发资源,技术博客
//pre和cur节点都前进一位8ga易塔云建站-模板下载,web开发资源,技术博客
pre = cur;8ga易塔云建站-模板下载,web开发资源,技术博客
cur = tmp;8ga易塔云建站-模板下载,web开发资源,技术博客
}8ga易塔云建站-模板下载,web开发资源,技术博客
return pre;8ga易塔云建站-模板下载,web开发资源,技术博客
}8ga易塔云建站-模板下载,web开发资源,技术博客
}