校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > UI专业知识 > 色彩
题目

已知二叉树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;}

解答

参考答案:D.

A 传入值显然不能更改
B 传入虽然是指针,但是能透过指针去修改值,指针本身指向的地址也相当于拷贝复制。
C 上同。
D 二级指针概念。

C 1条回复 评论
波风小蒙

涨知识了

发表于 2021-12-08 10:20:00
0 0