关于递归的理解?
      
      
      
    
    var invertTree = function(root) {
    if(root === null) return null;
    var temp = root.left;
    root.left = invertTree(root.right);
    root.right = invertTree(temp);
    return root;
};
var invertTree = function(root) {
    if(root === null) return;
    // swap left and right child
    var temp = root.left;
    root.left = root.right;
    root.right = temp;
    // recurse into children
    invertTree(root.left);
    invertTree(root.right);
};
这两个程序的递归细节是一样的吗?
      16 回复
    
    第一个函数最后由return语句返回传给函数的节点 root.left = invertTree(root.right); 可以翻成 ==> root.left =root.right; invertTree(root.right);
二者的区别在于交换子树木的节点和赋值的先后关系 (answer from kikong)
 
      