검지 Offer-JZ22 - 위에서 아래로 두 갈래 나무 인쇄

5179 단어 검지offer

제목 설명


위에서 아래로 두 갈래 나무의 각 노드를 인쇄하고, 같은 층의 노드는 왼쪽에서 오른쪽으로 인쇄합니다.

문제 풀이 사고방식


일반

코드 구현

/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
public:
    vector<int> PrintFromTopToBottom(TreeNode* root) {
        vector<int> vecOfVal;
        queue<TreeNode *> vecOfTreeNode;
        
        if(root == NULL)
            return vecOfVal;
        
        vecOfTreeNode.push(root);
        while(!vecOfTreeNode.empty()){
            vecOfVal.push_back(vecOfTreeNode.front()->val);
            
            if(vecOfTreeNode.front()->left != NULL)
                vecOfTreeNode.push(vecOfTreeNode.front()->left);
            if(vecOfTreeNode.front()->right != NULL)
                vecOfTreeNode.push(vecOfTreeNode.front()->right);
            
            vecOfTreeNode.pop();
        }
        
        return vecOfVal;
    }
};

실행 결과


실행 시간: 3ms 사용 메모리: 392k

좋은 웹페이지 즐겨찾기