其他分享
首页 > 其他分享> > 剑指 Offer 06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表

作者:互联网

 

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head) {
        int size;
        int[] array;
        //问题1:java中如何再复制一个引用类型的变量?
        //ListNode p=head;
        //问题2:数组在java中是什么样的存在?为什么可以返回一个数组?
        //Q3:protetive和pubilc的使用
        //Q4:本题定义的类中,ListNode next声明在内存中的位置
        if(head==null)
           return array;
        ListNode p =head-next;
        while(head!=null)
        {

        }


    }
}

有疑惑。关于java中引用数据类型的复制。为什么以下代码可以通过?head和currentNode不是指向同一个对象了吗?currentNode改变head不会也改变吗?

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head) {
       //先获取链表长度,创建对应长度数组
        ListNode currNode = head;
        int len = 0;
        while(currNode != null){
            len ++;
            currNode = currNode.next;
        }
        int[] result = new int[len];
        
        //再次遍历链表,将值倒序填充至结果数组
        currNode = head;
        while(currNode != null){
            result[len - 1] = currNode.val;
            len --;
            currNode = currNode.next;
        }
        return result;

    }
}

 

标签:head,ListNode,val,Offer,int,currNode,next,链表,06
来源: https://www.cnblogs.com/wsshub/p/14482964.html