一、例如,下面这个题目是剑指offer的题目,
复制复杂链表 https://mp.csdn.net/postedit/88047408
如果不写if(pHead==null) {return null} 语句,会提示:
答案错误:您提交的程序没有通过所有的测试用例
case通过率为80.00%
分析原因,是没有考虑链表为空的情形。代码如下:
/*
public class RandomListNode {
int label;
RandomListNode next = null;
RandomListNode random = null;
RandomListNode(int label) {
this.label = label;
}
}
*/
public class Solution {
public RandomListNode Clone(RandomListNode pHead)
{
cloneNodes(pHead);
connectRandom(pHead);
return reconnectNode(pHead);
}
//第三步 从旧链表拆分得到新的结点
public static RandomListNode reconnectNode(RandomListNode pHead) {
RandomListNode pNode = pHead;
RandomListNode pClonedHead = pHead.next;
Ra