《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java



一、资源
  • 题目:

    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

    示例 1:

    输入:head = [1,3,2]
    输出:[2,3,1]

    限制:

    0 <= 链表长度 <= 10000

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 上代码(经过线上OJ测试)
    /**
     * Created with IntelliJ IDEA.
     *
     * @author : DuZhenYang
     * @version : 2022.03.01  18:01:48
     * description :
     */
    public class LeetCode {
    
        public class ListNode {
            int val;
            ListNode next;
    
            ListNode(int x) {
                val = x;
            }
        }
    
        public int[] reversePrint(ListNode head) {
            if (head == null) {
                return new int[0];
            }
    
            ListNode pre = null;
            ListNode current = head;
            ListNode next;
            int n = 0;
    
            while (current != null) {
                next = current.next;
                current.next = pre;
                pre = current;
                n++;
                current = next;
            }
    
            int[] result = new int[n];
    
            for (int i = 0; i < n; i++) {
                result[i] = pre.val;
                pre = pre.next;
            }
    
            return result;
        }
    
    }
    

你可能感兴趣的:(LeetCode,leetcode,java,算法,剑指Offer)