美文网首页
算法-6.从尾到头打印链表

算法-6.从尾到头打印链表

作者: zzq_nene | 来源:发表于2020-08-08 22:32 被阅读0次

从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)
思路:首先需要对链表进行逆序
然后再对将链表保存在数组中

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
    public int[] reversePrint(ListNode head) {
        ListNode pre = null;    
        ListNode cur = head;
        ListNode next = null;

        while (cur != null) {
            next = cur.next;

            cur.next = pre;
            pre = cur;
            cur = next;

        }

        ListNode reverseListNode = pre;
        ArrayList<Integer> list = new ArrayList<>();
        while (reverseListNode != null) {
            list.add(reverseListNode.val);
            reverseListNode = reverseListNode.next;
        }
        int[] array = new int[list.size()];
        for(int i=0;i<list.size();i++) {
            array[i] = list.get(i);
        }
        return array;
    }

附:链表反转

    public static ListNode reverse(ListNode head) {
        ListNode pre = head;
        ListNode cur = head.next;
        ListNode next = null;

        head.next = null;
        while (cur != null) {
            next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }

    public static ListNode reverse1(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;
        ListNode next = null;

        // next = 2
        // pre = 0
        // cur = 1
        while (cur != null) {
            next = cur.next;

            cur.next = pre;
            pre = cur;
            cur = next;

        }
        return pre;
    }

相关文章

  • 算法-6.从尾到头打印链表

    从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)思路:首先需要对链表进行逆序然...

  • 剑指offer(第二版)题目分类整理

    链表 ~~~6. 从尾到头打印链表 ###18.1 在 O(1) 时间内删除链表节点 需要分情况,是否是尾节点...

  • JZ-003-从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题目链接: 从尾到头打印...

  • 2.3.3 链表

    面试题6:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。

  • 6.从尾到头打印链表

    题目 输入链表的第一个节点,从尾到头反过来打印出每个结点的值。 思路 1.使用栈 O(N)+O(N) 2.使用递归...

  • 6.从尾到头打印链表

    由于链表在内存中不是连续存储的,所以必须要知道链表头指针的地址。由于是从尾到头打印,自然而然想到用栈结构实现,因为...

  • 6.从尾到头打印链表

    思路:直接顺序打印链表,并入栈,出栈的顺序即为倒序

  • 6.从尾到头打印链表

    题目描述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 代码: 思路分析: 按照从头到尾的顺序...

  • 06:从尾到头打印链表

    题目06:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 思路 一. 栈 从头遍历链表,先访问的后...

  • 《剑指offer》— JavaScript(3)从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 实现代码 相关知识 链表是一种物理存储单...

网友评论

      本文标题:算法-6.从尾到头打印链表

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