链表
从头到尾打印链表
连接:https://blog.csdn.net/imbingoer/article/details/85884474
https://blog.csdn.net/ftell/article/details/80826235
Java栈Stack方法的总结
ArrayList类
Java中List,Array,ArrayList的区别
System.arraycopy和Arrays.copyOfRange的详细区别
- Arrays.copyOfRange改变的是引用,即使引用指向了一个新的数组.
- System.arraycopy改变的是原数组.
- 在函数传参数时,传递的是引用,如果使得该引用指向的对象发生了改变,那么原来指向的数组将不会改变,也就是说在函数外(调用函数的地方)的数组是不会改变的.
复杂链表的复制
重要是要明白题意,即复制一个完整的链表
复杂的原因是不能指向原来的链表的内容,所以对于随机指向的节点进行初始化很困难,所以会在原链表的基础上先进行旧表的复制,然后再复制随机节点,最后将两个表进行分离。
参考链接public class Solution { public RandomListNode Clone(RandomListNode pHead) { RandomListNode p=pHead; RandomListNode t=pHead; while(p!=null){ RandomListNode q=new RandomListNode(p.label); q.next=p.next; p.next=q; p=q.next; } while(t!=null){ RandomListNode q=t.next; if(t.random!=null) q.random=t.random.next; t=q.next; } RandomListNode s=new RandomListNode(0); RandomListNode s1=s; while(pHead!=null){ RandomListNode q=pHead.next; pHead.next=q.next; s.next=q; s=s.next; pHead=pHead.next; } return s1.next; } }