add
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
typedef struct TreeNode {
|
||||
int val;
|
||||
struct TreeNode *left;
|
||||
struct TreeNode *right;
|
||||
} TreeNode;
|
||||
TreeNode* createNode(int value) {// 创建新节点
|
||||
TreeNode *newNode = (TreeNode*)malloc(sizeof(TreeNode));
|
||||
newNode->val = value;
|
||||
newNode->left = NULL;
|
||||
newNode->right = NULL;
|
||||
return newNode;
|
||||
}
|
||||
void preorderTraversal(TreeNode *root) {
|
||||
if (root == NULL) return;
|
||||
printf("%d ", root->val); // 访问根节点
|
||||
preorderTraversal(root->left); // 遍历左子树
|
||||
preorderTraversal(root->right); // 遍历右子树
|
||||
}
|
||||
void inorderTraversal(TreeNode *root) {
|
||||
if (root == NULL) return;
|
||||
inorderTraversal(root->left); // 遍历左子树
|
||||
printf("%d ", root->val); // 访问根节点
|
||||
inorderTraversal(root->right); // 遍历右子树
|
||||
}
|
||||
void postorderTraversal(TreeNode *root) {
|
||||
if (root == NULL) return;
|
||||
postorderTraversal(root->left); // 遍历左子树
|
||||
postorderTraversal(root->right); // 遍历右子树
|
||||
printf("%d ", root->val); // 访问根节点
|
||||
}
|
||||
int main() {
|
||||
// 创建二叉树
|
||||
TreeNode *root = createNode(1);
|
||||
root->left = createNode(2);
|
||||
root->right = createNode(3);
|
||||
root->left->left = createNode(4);
|
||||
root->left->right = createNode(5);
|
||||
|
||||
printf("前序遍历: ");
|
||||
preorderTraversal(root);
|
||||
printf("\n");
|
||||
printf("中序遍历: ");
|
||||
inorderTraversal(root);
|
||||
printf("\n");
|
||||
printf("后序遍历: ");
|
||||
postorderTraversal(root);
|
||||
printf("\n");
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user