试设计一遍历算法,求出左子树或右子树的data值为x的结点,要求将求出结点的data值存入S数组
1条回答 默认 最新
- ShowMeAI 2022-12-19 19:16关注
望采纳
下列代码实现使用递归的遍历算法,可以求出左子树或右子树的结点的 data 值为 x 的结点,并将求出结点的 data 值存入 S 数组:
struct TreeNode { int data; TreeNode *left; TreeNode *right; }; void findNode(TreeNode *p, int x, int &i, int S[]) { if (p != NULL) { // 先搜索左子树 findNode(p->left, x, i, S); // 再搜索右子树 findNode(p->right, x, i, S); // 搜索当前结点 if (p->data == x) { S[i] = p->data; i++; } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报