C++ 中序遍历二叉树并输出节点值和层级
"使用递归算法按中序遍历二叉树,并记录每个节点的层次数。\n\ncpp\nstruct TreeNode {\n int val;\n TreeNode* left;\n TreeNode* right;\n TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}\n};\n\nvoid inorderTraversal(TreeNode* root, int level) {\n if (root == nullptr) {\n return;\n }\n \n inorderTraversal(root->left, level + 1);\n cout << \"Node: \" << root->val << \", Level: \" << level << endl;\n inorderTraversal(root->right, level + 1);\n}\n\nint main() {\n // 构建二叉树\n TreeNode* root = new TreeNode(1);\n root->left = new TreeNode(2);\n root->right = new TreeNode(3);\n root->left->left = new TreeNode(4);\n root->left->right = new TreeNode(5);\n root->right->left = new TreeNode(6);\n root->right->right = new TreeNode(7);\n\n inorderTraversal(root, 1);\n\n return 0;\n}\n\n\n输出结果为:\n\n\nNode: 4, Level: 2\nNode: 2, Level: 1\nNode: 5, Level: 2\nNode: 1, Level: 1\nNode: 6, Level: 2\nNode: 3, Level: 1\nNode: 7, Level: 2\n
原文地址: https://www.cveoy.top/t/topic/qe02 著作权归作者所有。请勿转载和采集!