unreachable statement表明这个语句不可以达到,不可能被执行
出现原因:在执行这个语句前已经返回了
public final TreeNode getTargetCopy(final TreeNode original, final TreeNode cloned, final TreeNode target) {
if (original == null){
return null;
}
if (original == target){
return cloned;
}
// 递归左子树
TreeNode res = getTargetCopy(original.left,cloned.left,target);
if (res != null){
return res;
}
else
{return null;
}
res = getTargetCopy(original.right,cloned.right,target);
if (res != null){
return res;
}
}
在这个程序中:
getTargetCopy(original.right,cloned.right,target);
if (res != null){
return res;
}
是不可能被执行的语句,因为在:
if (res != null){
return res;
}
else
{return null;
}
无论res值是多少都已经return了。