JZ-015-反转链表
反转链表 题目描述
输入一个链表,反转链表后,输出新链表的表头。代码
【JZ-015-反转链表】题目链接: 反转链表
/**
* 标题:反转链表
* 题目描述
* 输入一个链表,反转链表后,输出新链表的表头。
* 题目链接:
* https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&&tqId=11168&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
*/
public class Jz15 {public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode first = head, second = head.next;
first.next = null;
while (first != null && second != null) {
ListNode temp = first;
first = second;
second = second.next;
first.next = temp;
}
return first;
}public static void main(String[] args) {
ListNode head = new ListNode(1);
head.next = new ListNode(2);
head.next.next = new ListNode(3);
System.out.println("before reverse");
ListNode cur = head;
while (cur != null) {
System.out.print(cur.val + " ");
cur = cur.next;
}
System.out.println();
Jz15 jz15 = new Jz15();
ListNode result = jz15.reverseList(head);
System.out.println("after reverse");
ListNode cur1 = result;
while (cur1 != null) {
System.out.print(cur1.val + " ");
cur1 = cur1.next;
}
}
}
【每日寄语】 生活的本质就是幸福的活着,而生活的智慧就是活出自己想要的样子。
推荐阅读
- leetcode|leetcode 92. 反转链表 II
- LeetCode|LeetCode 876. 链表的中间结点
- 【数组题】给定一个二进制矩阵|【数组题】给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。
- 角色反转
- redis|redis 链表
- C语言数据结构之二叉链表创建二叉树
- 链表|链表 LC.19/83/92/61/143/21/160/141/147/138/142
- leetcode-初级-数组~总结
- 数据结构|C++技巧(用class类实现链表)
- 27|27 二叉搜索树与双向链表