本文主要是介绍1105: 交换二叉树的孩子结点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解法:
#include<iostream>
using namespace std;
struct treeNode {char val;treeNode* left, * right;treeNode(char x) :val(x), left(NULL), right(NULL) {};
};
treeNode* buildtree() {char ch;cin >> ch;if (ch == '#') return NULL;treeNode* r = new treeNode(ch);r->left = buildtree();r->right = buildtree();return r;
}
void hdfs(treeNode* root) {if (root == NULL) return;hdfs(root->left);hdfs(root->right);swap(root->left, root->right);return;
}
void zdfs(treeNode* root) {if (root == NULL) return;zdfs(root->left);cout << root->val;zdfs(root->right);return;
}
void qdfs(treeNode* root) {if (root == NULL) return;cout << root->val;qdfs(root->left);qdfs(root->right);return;
}
int main() {treeNode* root = buildtree();hdfs(root);zdfs(root);cout << endl;qdfs(root);return 0;
}
这篇关于1105: 交换二叉树的孩子结点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!