北邮复试_2010_树查找

题目描述

有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。

分析:采用完全二叉树的节点特点进行计算

void tree_find()
    {
        int n;
        cin >> n;
        vector<int> nums;
        int t;
        nums.push_back(0);
        for (int i = 0; i < n; i++)
        {
            cin >> t;
            nums.push_back(t);
        }
        cin >> t;
        if (t == 1)
        {
            cout << nums[0] << endl;
            return;
        }
        int left = pow(2, t-1);
        int right = pow(2, t)-1<nums.size()?pow(2,t)-1:nums.size()-1;
        for (int i = left; i <= right; i++)
        {
            cout << nums[i] << " ";
        }
    }
发布了63 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/luncy_yuan/article/details/104329791