java刷题--206反转链表
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--206反转链表相关的知识,希望对你有一定的参考价值。
题目
代码
法一 迭代
class Solution {
public ListNode reverseList(ListNode head) {
ListNode pre =null;
ListNode cur = head;
while(cur!=null) {
ListNode nextTemp = cur.next;
cur.next = pre;
pre = cur;
cur = nextTemp;
}return pre;
}
}
法二 栈实现
class Solution {
public ListNode reverseList(ListNode head) {
Stack<ListNode> stack = new Stack<>();
ListNode start = new ListNode(0, new ListNode(0));
ListNode temp = start;
while (head != null) {
stack.push(head);
head = head.next;
}
while (!stack.isEmpty()) {
temp.next = stack.pop();
temp = temp.next;
}
temp.next = null;
return start.next;
}
}
结果
以上是关于java刷题--206反转链表的主要内容,如果未能解决你的问题,请参考以下文章
[JavaScript 刷题] 链表 - 反转链表, leetcode 206
[JavaScript 刷题] 链表 - 反转链表, leetcode 206
Leetcode刷题100天—206. 反转链表(链表)—day01