因为左右对称,我们只分析一侧,以左侧为例对任意节点,若 其左子节点非空:则其左邻居为左子节点的最右子孙节点递归处理左子节点将左指针指向左邻居,左邻居的右指针指向该节点 其左子节点为空:则其左邻居为其祖先节点(即对称的情况1)无需处理(交由情况1处理)(二叉树非空指针数 = 空指针数 - 2) 上代码Tips: 为了防止破坏树结构,必须在递归完子树后再修改自身节点与左/右邻居 class Solution { public: //找左邻居 TreeNode* findLeftNeigh(TreeNode* now){ now = now->left; ...