美文网首页
P1-链表反转-迭代

P1-链表反转-迭代

作者: YonchanLew | 来源:发表于2021-05-04 15:20 被阅读0次
//第一种方法,迭代
//https://www.bilibili.com/video/BV1hK4y1P7ka?t=341
//反转链表
public class ReverseList {
 
    static class ListNode{
        int val;
        ListNode next;
 
        public ListNode(int val, ListNode next){
            this.val = val;
            this.next = next;
        }
 
        public static ListNode iterate(ListNode head){
            ListNode prev = null;
            ListNode next;
            ListNode curr = head;
            while(curr != null){
                next = curr.next;
                curr.next = prev;
                prev = curr;
                curr = next;
            }
            return prev;
        }
 
        public void printList(){
            System.out.println(this.val);
            ListNode curr = this;
            while(curr.next != null) {
                System.out.println(curr.next.val);
                curr = curr.next;
            }
        }
    }
 
    public static void main(String[] args) {
        ListNode node5 = new ListNode(5, null);
        ListNode node4 = new ListNode(4, node5);
        ListNode node3 = new ListNode(3, node4);
        ListNode node2 = new ListNode(2, node3);
        ListNode node1 = new ListNode(1, node2);
        node1.printList();
        ListNode.iterate(node1);
        node5.printList();
 
    }
 
}

相关文章

  • P1-链表反转-迭代

  • LeetCodeDay12 —— 反转链表&合并两个有序链表

    206. 反转链表 描述 反转一个单链表。 进阶 链表可以迭代或递归地反转。你能否两个都实现一遍? 思路 迭代版本...

  • leecode刷题(22)-- 反转链表

    leecode刷题(22)-- 反转链表 反转数组 反转一个单链表。 示例: 进阶:你可以迭代或递归地反转链表。你...

  • 链表简单算法相关练习

    单链表反转: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 迭代方式实现: 复杂度分析: 时...

  • 初级算法-链表-反转链表

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 进阶:链表可以选用迭代或递归方式完成反转。你能...

  • 算法学习:链表反转

    题目1: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 递归解法: 迭代解法: 题目2: 题...

  • Swift 反转链表 - LeetCode

    题目: 反转链表 反转一个单链表。示例: 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 方案一...

  • LeetCodeSwift 206.Reverse Linked

    题目 206.反转链表 反转一个单链表。 示例: 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? ...

  • Swift - LeetCode - 反转链表

    题目 反转一个单链表。 示例: 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 方案一: 迭代:...

  • 单向链表反转算法

    常用的4种: 迭代反转法 递归反转法 头插法 就地逆置法 1 迭代反转法 从当前链表的首元节点开始,一直遍历至链表...

网友评论

      本文标题:P1-链表反转-迭代

      本文链接:https://www.haomeiwen.com/subject/plicdltx.html