>>3
修正前と木の構造が違うよ。
修正するならこうだと思うけど。

Node n = searchLargestNode(root.left);
if (n != root.left) {
 n.left = root.left;
}
n.right = root.right;
return n;