LeetCode114 Flatten Binary Tree to Linked List
3275 단어 LeetCode나무.차례차례 두루 다니다114
제목 링크:
https://leetcode.com/problems/flatten-binary-tree-to-linked-list/
제목 설명:
두 갈래 나무를 단일 사슬표의 형식으로 바꾸면 단일 나뭇가지로 퇴화된다.
1
/ \ 2 5
/ \ \ 3 4 6
1
\ 2
\ 3
\ 4
\ 5
\ 6
제목 분석:
순서대로 흐르는 변형을 관찰할 수 있다. 단지 나무로 변할 때 원 두 갈래 나무가 먼저 흐르는 순서대로 연결되는 것을 관찰할 수 있다.그래서 먼저 반복적으로 돌아갈 때 처리를 하고 두 갈래 나무의 노드를 다시 연결한다.대략적인 사고방식은 현재 뿌리 노드의 왼쪽 아이를 비우고, 오른쪽 아이는 원래의 왼쪽 아이를 가리키며, 원래의 왼쪽 아이의 마지막 오른쪽 아이(즉 빈 손가락 바늘 구역)는 뿌리 노드의 원래 오른쪽 아이를 가리킨다.
코드:
class Solution {
public:
TreeNode* preOrderTraverse(TreeNode* root){
if (root != NULL){
TreeNode* lChild=preOrderTraverse(root->left);
TreeNode* rChild = preOrderTraverse(root->right);
if (lChild == NULL){
root->right = rChild;
root->left = NULL;
return root;
}
else{
root->right = lChild;
root->left = NULL;
while (lChild->right != NULL){
lChild = lChild->right;
}
lChild->right = rChild;
return root;
}
}
else{
return NULL;
}
}
void flatten(TreeNode* root) {
root=preOrderTraverse(root);
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 문자열 입력으로 모든 유효한 IP 주소 생성(LeetCode 93번 문제)이 문제의 공식 난이도는 Medium으로 좋아요 1296, 반대 505, 통과율 35.4%를 눌렀다.각 항목의 지표로 말하자면 보기에는 약간 규범에 맞는 것 같지만, 실제로도 확실히 그렇다.이 문제의 해법과 의도는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.