剑指 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