#include<iostream> using namespace std; struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) :val(x), left(nullptr), right(nullptr) { } }; TreeNode* insertTree(TreeNode* root, int val) { if (!root) return new TreeNode(val); // 如果树为空,创建新的节点 if (val < root->val) root->left = insertTree(root->left, val); // 插入到左子树 else root->right = insertTree(root->right, val); // 插入到右子树 return root; } int depthTree(TreeNode* root) { if (!root) return 0; return max(depthTree(root->left), depthTree(root->right)) + 1; } int main() { TreeNode* root = nullptr; int val; while (cin >> val) { root = insertTree(root, val); if (cin.get() == '\n') break; } cout << depthTree(root) << endl; return 0; }