美文网首页
反转链表(java实现)

反转链表(java实现)

作者: 清泥洼 | 来源:发表于2019-03-02 16:37 被阅读0次

链表反转

节点数据结构如下:


  class Node {

    private Stringname;

    private Nodenext;

    public Node(String name) {

    this.name = name;

    }

链表反转的两种方式:递归和非递归

递归方式如下:

public NoderecursiveReverse(Node head) {

  if (head ==null || head.next ==null) {

  return head;

    }

  Node node = recursiveReverse(head.next);

    head.next.next = head;

    head.next =null;

    return node;

}

非递归方式如下:

public Nodereverse(Node head) {

  if (head ==null) {

  return null;

    }

    Node pre = head;

    Node node = pre.next;

    pre.next =null;

    while (node !=null) {

    Node nodeNext = node.next;

        node.next = pre;

        pre = node;

        node = nodeNext;

    }

return pre;

}

相关文章

  • 15反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头。 Java实现

  • Java实现链表反转

    链表的结点结构 ┌───┬───┐│data │next │└───┴───┘data域--存放结点值的数据域ne...

  • java 实现链表反转

  • 反转链表(java实现)

    链表反转 节点数据结构如下: 链表反转的两种方式:递归和非递归 递归方式如下: 非递归方式如下:

  • 链表简单算法相关练习

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

  • 单链表反转

    单链表反转 单链表初始化 输出 反转 释放 实现代码 尚未实现 元素插入 元素删除

  • Python实现双向链表

    Python实现双向链表的增删改查,反转链表

  • 链表

    单链表 C实现 Java实现 双链表 C实现 Java实现

  • 反转单链表(Java实现)

    如题: 定义一个方法(函数),实现输入一个链表的头结点,然后可以反转这个链表的方向,并输出反转之后的链表的头结点。...

  • 单链表反转-Java实现

    算法1(非递归实现):使用3个指针,分别指向前序结点、当前结点和后序结点,遍历链表,逐个逆转,时间复杂度O(n):...

网友评论

      本文标题:反转链表(java实现)

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