题目
已知二叉树Node定义如下, 现在需要设计一个方法交换左子树和右子树, 下列方法中, 可以实现交换的是? ()
1class Node {
2public:
3 Node* left;
4 Node* right;
5 char content;
6
7 Node(char content);
8private:
9 Node(const Node&);
10 Node& operator=(const Node& node);
11};
A.void swap(Node root) {Node* temp=root.left;root.left=root.right;root.right=temp;}
B.void swap(Node& left, Node& right) {Node temp=left; left=right;right=temp;}
C.void swap(Node* left, Node* right) {Node* temp=left; left=right;right=temp;}
D.void swap(Node*& left, Node*& right) {Node* temp=left; left=right;right=temp;}
涨知识了