[Leetcode] 94. Binary Tree Inorder Traversal
Algorithm2021. 8. 3. 16:18
반응형
Identifying the Problem
이진트리의 중위 순회 진행하라.
Organizing thoughts
이진트리도 처음보는데, 중위 순회 만들라뇨,,
조건도 복잡하고, 자녀 트리에서 부모 트리로 어떻게 올라갈지도 갈피가 안 잡혀서
답 보고 익혔다.
아래 블로그에 이진트리 설명 잘 돼 있어 참고했다.
Sourcecode
void inorder(struct TreeNode* root,int* answer, int* Size);
int* inorderTraversal(struct TreeNode* root, int* returnSize){
int* answer = malloc(sizeof(int) * 256);
*returnSize = 0;
inorder(root, answer, returnSize);
return answer;
}
void inorder(struct TreeNode* root,int* answer, int* Size)
{
if(root!=NULL) //왼쪽이나 오른쪽의 값이 없을 경우, 이전 recursion으로 되돌아간다.
{
inorder(root->left, answer, Size); //왼쪽만 주구 장창 파내려간다.
answer[*Size] = root->val; //값을 집어넣기
(*(Size))++;// == *Size = *Size + 1 실수하기 쉬우니깐 오른쪽걸로 하는게 좋을 듯 함
inorder(root->right, answer,Size);
}
else return;
}
Mistake
- (*(Size))++ 에서 실수하기 쉬우니깐 *Size = *Size + 1로 하는 게 좋을 듯하다.
반응형
'Algorithm' 카테고리의 다른 글
[Leetcode] 101. Symmetric Tree (0) | 2021.08.03 |
---|---|
[Leetcode] 100. Same Tree (0) | 2021.08.03 |
[Leetcode] 69. Sqrt(x) (0) | 2021.08.03 |
[Leetcode] 238. Product of Array Except Self (0) | 2021.08.01 |
[Leetcode] 202. Happy Number (0) | 2021.08.01 |
댓글()