首页 > 试题广场 >

已知二叉树Node定义如下, 现在需要设计一个方法交换左子树

[单选题]
已知二叉树Node定义如下, 现在需要设计一个方法交换左子树和右子树, 下列方法中, 可以实现交换的是? ()
class Node {
public:
   
Node* left;
   
Node* right;
   
char content;
   
Node(char content);
private:
   
Node(const Node&);
   
Node& operator=(const Node& node);
};

  • void swap(Node root) {
    Node* temp = root.left;
    root.left = root.right;
    root.right = temp;
    }
  • void swap(Node& left, Node& right)
    {
    Node temp = left;
    left = right;
    right = temp;
    }
  • void
    swap(Node* left, Node* right) {
    Node* temp = left;
    left = right;
    right = temp;
    }
  • void swap(Node*& left, Node*&
    right) {
    Node* temp = left;
    left = right;
    right = temp;
    }
表示go语言 acd都对
发表于 2019-09-09 20:17:26 回复(0)
此题 为c++ 要使用指针  java引用不适用
发表于 2019-09-09 17:59:27 回复(0)
B D应该都对啊
发表于 2019-09-08 10:54:32 回复(0)