LeetCode-257 두 갈래 나무의 모든 경로
1. 제목 설명  
두 갈래 나무를 정해서 뿌리 노드에서 잎 노드까지의 모든 경로를 되돌려줍니다.설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다.예: 입력: 1/\2 3\5 출력: ["1->2->5", "1->3"]
설명: 모든 뿌리 노드에서 잎 노드까지의 경로: 1->2->5, 1->3
2. 문제 풀이 사고방식  
두 갈래 나무를 두루 돌아다닐 때, 현재의 노드와 아이의 노드를 고려해야 한다.만약 현재의 노드가 잎 노드가 아니라면, 현재의 경로 끝에 이 노드를 추가하고, 이 노드를 두루 돌아다니는 모든 아이 노드로 귀속됩니다.만약 현재의 노드가 잎 노드라면, 현재의 경로 끝에 이 노드를 추가한 후, 뿌리 노드에서 잎 노드로 가는 경로를 얻을 수 있으며, 이 경로를 답안에 넣을 수 있다.
3. 코드 구현  #include
#include
using namespace std;
class Solution {
public:
    void constructPath(TreeNode* root, string path, vector& paths) {
        if (root != nullptr) {
            path.append(std::to_string(root->val));
            //  
            if ((root->left == nullptr) && (root->right == nullptr)) {
                paths.push_back(path); //  
            } else { //  
                path.append("->");
                constructPath(root->left, path, paths);
                constructPath(root->right, path, paths);
            }
        }
    }
    vector binaryTreePaths(TreeNode* root) {
        vector paths;
        string path = "";
        
        constructPath(root, path, paths);
        return paths;
    }
};
     
  
4. 총결산  
en...나무 제목 재밌는데...많이 닦고 많이 닦고...참조 링크:https://leetcode-cn.com/problems/binary-tree-paths/solution/er-cha-shu-de-suo-you-lu-jing-by-leetcode/
                
                    
        
    
    
    
    
    
                
                
                
                
                
                
                    
                        
                            
                            
                                
                                    
                                    이 내용에 흥미가 있습니까?
                                
                            
                            
                            
                            현재 기사가 여러분의 문제를 해결하지 못하는 경우  AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
                            
                                
                                다양한 언어의 JSON
                            
                            JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
                            
                            
                            
                            
                            텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
                            
                        
                    
                
                
                
            
두 갈래 나무를 두루 돌아다닐 때, 현재의 노드와 아이의 노드를 고려해야 한다.만약 현재의 노드가 잎 노드가 아니라면, 현재의 경로 끝에 이 노드를 추가하고, 이 노드를 두루 돌아다니는 모든 아이 노드로 귀속됩니다.만약 현재의 노드가 잎 노드라면, 현재의 경로 끝에 이 노드를 추가한 후, 뿌리 노드에서 잎 노드로 가는 경로를 얻을 수 있으며, 이 경로를 답안에 넣을 수 있다.
3. 코드 구현  #include
#include
using namespace std;
class Solution {
public:
    void constructPath(TreeNode* root, string path, vector& paths) {
        if (root != nullptr) {
            path.append(std::to_string(root->val));
            //  
            if ((root->left == nullptr) && (root->right == nullptr)) {
                paths.push_back(path); //  
            } else { //  
                path.append("->");
                constructPath(root->left, path, paths);
                constructPath(root->right, path, paths);
            }
        }
    }
    vector binaryTreePaths(TreeNode* root) {
        vector paths;
        string path = "";
        
        constructPath(root, path, paths);
        return paths;
    }
};
     
  
4. 총결산  
en...나무 제목 재밌는데...많이 닦고 많이 닦고...참조 링크:https://leetcode-cn.com/problems/binary-tree-paths/solution/er-cha-shu-de-suo-you-lu-jing-by-leetcode/
                
                    
        
    
    
    
    
    
                
                
                
                
                
                
                    
                        
                            
                            
                                
                                    
                                    이 내용에 흥미가 있습니까?
                                
                            
                            
                            
                            현재 기사가 여러분의 문제를 해결하지 못하는 경우  AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
                            
                                
                                다양한 언어의 JSON
                            
                            JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
                            
                            
                            
                            
                            텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
                            
                        
                    
                
                
                
            
#include
#include
using namespace std;
class Solution {
public:
    void constructPath(TreeNode* root, string path, vector& paths) {
        if (root != nullptr) {
            path.append(std::to_string(root->val));
            //  
            if ((root->left == nullptr) && (root->right == nullptr)) {
                paths.push_back(path); //  
            } else { //  
                path.append("->");
                constructPath(root->left, path, paths);
                constructPath(root->right, path, paths);
            }
        }
    }
    vector binaryTreePaths(TreeNode* root) {
        vector paths;
        string path = "";
        
        constructPath(root, path, paths);
        return paths;
    }
};
     en...나무 제목 재밌는데...많이 닦고 많이 닦고...참조 링크:https://leetcode-cn.com/problems/binary-tree-paths/solution/er-cha-shu-de-suo-you-lu-jing-by-leetcode/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.