검지 Offer-JZ24 - 두 갈래 트리 중 하나에 해당하는 경로

4446 단어 검지offer

제목 설명


두 갈래 나무의 루트 노드와 정수를 입력하고 사전 순서에 따라 두 갈래 나무의 결점 값과 정수를 입력하기 위한 모든 경로를 출력합니다.경로는 나무의 뿌리 결점에서 시작하여 잎 결점까지 내려가는 결점으로 경로를 형성합니다.

문제 풀이 사고방식


코드 보기

코드 구현

/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
private:
    vector<vector<int>> paths;
    vector<int> path;

public:
    vector<vector<int> > FindPath(TreeNode* root,int expectNumber) {
        if(root == NULL)
            return paths;
        
        path.push_back(root->val);
        expectNumber -= root->val;
        if(expectNumber == 0 && root->left == NULL && root->right == NULL)
            paths.push_back(path);
        FindPath(root->left, expectNumber);
        FindPath(root->right, expectNumber);
        path.pop_back();
        
        return paths;
    }
};

실행 결과


실행 시간: 4ms 사용 메모리: 380k

좋은 웹페이지 즐겨찾기