单向链表反向输出,不用中间变量操作.

讲一下基本思想:
单向链表要想反向输出,而不借助临时变量,那就是栈这个数据结构->递归一下就出现了.

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Objects;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
class Node {
    private Integer data;
    private Node next;
}
/**
 * @author 陈英俊
 * @date 2020/11/30 17:46
 */
public class SingleLinkedListDemo {
    public static void main(String[] args) {
        Node head = new Node(0, null);
        for (int i = 0; i < 10; i++) {
            initLinkedList(head, new Node(i, null));
        }
        Node tmp = head;
        while (tmp != null) {
            System.out.print(tmp.getData() + "->");
            tmp = tmp.getNext();
        }
        System.out.println();
        //单链表反向输出
        printLinkedList(head);
    }
    /**
     * 单向链表反向输出
     *
     * @param head 头结点
     */
    private static void printLinkedList(Node head) {
        if (!Objects.isNull(head.getNext())) {
            printLinkedList(head.getNext());
        }
        System.out.print(head.getData() + "->");
        return;
    }

     /**
     * 链表新增结点(尾插法)
     *
     * @param head 头结点
     * @param add 新增结点
     */
    private static void initLinkedList(Node head,Node add) {
        Node tmp = head.getNext();
        Node var = head;
        while (tmp != null) {
            var = tmp;
            tmp = tmp.getNext();
        }
        var.setNext(add);
    }
}
  • 输出结果:
0->1->2->3->4->5->6->7->8->9->10->
10->9->8->7->6->5->4->3->2->1->0->
Process finished with exit code 0
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,261评论 0 9
  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 4,376评论 0 23
  • 5Python集合容器 数据结构数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构...
    清清子衿木子水心阅读 1,736评论 0 1
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,866评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 10,912评论 0 11

友情链接更多精彩内容