두 갈래 나무는 층순으로 인쇄한다

1944 단어 매일 한 문제
제목: 위에서 아래로 층별로 두 갈래 트리를 인쇄하고 같은 층 노드는 왼쪽에서 오른쪽으로 출력하며 층마다 한 줄의 코드를 출력합니다.
// 
    vector<vector<int> > Print2(TreeNode* pRoot)
    {
        vector<vector<int> > res;
        if(pRoot==nullptr) return res;
        queue q1,q2;// print 
        q1.push(pRoot);
        while(!q1.empty())
        {
            vector<int> tmp;
            while(!q1.empty())
            {
                tmp.push_back(q1.front()->val);// 
                if(q1.front()->left) q2.push(q1.front()->left);// 
                if(q1.front()->right) q2.push(q1.front()->right);
                q1.pop();// 
            }
            while(!q2.empty()) // 
            {
                q1.push(q2.front());
                q2.pop();
            }
            res.push_back(tmp);
        }
        return res;
    }

좋은 웹페이지 즐겨찾기