怎么介绍网站的优缺点,郑州做网站哪个平台好,上海网站建设 找思创网络,开店做网站有什么好处写在前面 最近想复习一下数据结构与算法相关的内容#xff0c;找一些题来做一做。如有更好思路#xff0c;欢迎指正。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.代码 写在后面 一、场景描述 给你单链表的头节点 head #xff0c;请你反转链表#xff0c;并返回反…写在前面 最近想复习一下数据结构与算法相关的内容找一些题来做一做。如有更好思路欢迎指正。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.代码 写在后面 一、场景描述 给你单链表的头节点 head 请你反转链表并返回反转后的链表。
示例
输入1-2-3
输出321二、具体步骤
1.环境说明
名称说明IntelliJ IDEA2019.2
2.代码
以下为Java版本实现
public class Lc206_reverseList {public static void main(String[] args) {ListNode n3 new ListNode(3);ListNode n2 new ListNode(2, n3);ListNode head new ListNode(1, n2);ListNode.print(head);System.out.println();ListNode.print(reverseList(head));}/*** n** 反转链表** 思路* 1- 2- 3* 把2指向1把3指向2... 这是一个循环的过程** 链表的循环一定有一个 curr 用来移动要想改变链的方向* 还需要知道前一个节点和curr用于改变链的方向* 后一个节点用于循环curr** 定义 3个指针 pre、curr、next* pre null, curr head, next;** 遍历 while(curr ! null) 为 next赋值 next curr.next* curr.next pre 改变链的方向原来curr.next 指向的 next curr.next* 往后移动 pre curr; curr curr** 最后返回头就是 pre** param head* return*/private static ListNode reverseList(ListNode head) {ListNode pre null, curr head, next;while (curr ! null) {next curr.next;// 改变链方向curr.next pre;// 向后移动pre curr;curr next;}return pre;}static class ListNode {int val;ListNode next;public ListNode() {}public ListNode(int val) {this.val val;}public ListNode(int val, ListNode next) {this.val val;this.next next;}public static void print(ListNode head) {while (head ! null) {if (head.next null) {System.out.print(head.val);} else {System.out.print(head.val , );}head head.next;}}}}写在后面 如果本文内容对您有价值或者有启发的话欢迎点赞、关注、评论和转发。您的反馈和陪伴将促进我们共同进步和成长。