두 갈래 트리에서 루트 노드를 지정된 노드에 인쇄하는 경로 - 뒤따라 흐르는 변형 해답
1125 단어 면접&필기시험
이 유형의 제목은 위나 두 개의 지정된 노드의 가장 짧은 경로를 찾으려면 일률적으로 두 갈래 나무로 사상을 옮겨야 한다.
이 문제의 해답은 바로 뒷차례가 반복되는 개선에 쓰인다.
두 갈래 트리에서 두 개의 지정된 노드의 가장 짧은 경로를 인쇄하려면 중간 순서로 옮겨야 합니다.본론으로 돌아가다.
이 문제 코드 구현:
#include
#include
using namespace std;
struct TreeNode {
int val;
TreeNode* left, *right;
TreeNode(int x):val(x),left(nullptr),right(nullptr){}
};
vector res;
void advPostOrder(TreeNode* root,TreeNode* node) {
if (!root)//
return;
if (root == node) {//
res.push_back(node);
return;
}
if (root->left)
advPostOrder(root->left, node);
if (root->right)
advPostOrder(root->right, node);
// , ,
if (!res.empty()&&(root->left==res.back()||root->right==res.back()))
res.push_back(root);
}
int main() {
TreeNode a(1), b(2), c(3), d(4), e(5), f(6), g(7), h(8), i(9);
a.left = &b;
a.right = &c;
b.left = &d;
b.right = &e;
d.left = &f;
d.right = &g;
e.left = &h;
e.right = &i;
advPostOrder(&a, &i);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
면접 & 필기시험 | ArrayList, 정복 (흔 한 면접 요약 첨부)Array List 는 자바 집합 (용기) 의 일원 으로 그 자체 의 데이터 구 조 는 배열 이 며, 배열 을 바탕 으로 하 는 가장 특색 있 는 것 은 주소 지정 이 빠 르 고 랜 덤 접근 을 지원 하 며, 링크 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.