두 갈래 나무에 삽입된 노드의 귀속과 비귀속
제목.
두 갈래로 나무와 새 나무 노드를 찾아서 나무에 노드를 삽입하세요
너는 이 나무가 여전히 두 갈래로 나무를 찾는다는 것을 보증해야 한다.
예제
다음 두 갈래 찾기 나무를 보여 줍니다. 노드 6을 삽입한 후에 이 두 갈래 찾기 나무는 다음과 같습니다. 2 2
/ \ / \
1 4 --> 1 4
/ / \
3 3 6
귀속과 비귀속 코드 /**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param root: The root of the binary search tree.
* @param node: insert this node into the binary search tree
* @return: The root of the new binary search tree.
*/
TreeNode* insertNode1(TreeNode* root, TreeNode* node) {
// write your code here
if(root == NULL)
{
root = node;
return root;
}//if
if(node->val < root->val)
{
if(root->left == NULL)
{
root->left = node;
}else{
root->left = insertNode1(root->left, node);
}//else
}else{
if(root->right == NULL)
{
root->right = node;
}else{
root->right = insertNode1(root->right, node);
}//else
}//else
return root;
}
//
TreeNode* insertNode(TreeNode* root, TreeNode* node) {
// write your code here
if(root == NULL)
{
root = node;
return root;
}//if
TreeNode *t = root;
while(t != NULL)
{
if(node->val < t->val)
{
if(t->left == NULL)
{
t->left = node;
return root;
}else{
t = t->left;;
continue;
}//else
}//if
else{
if(t->right == NULL)
{
t->right = node;
return root;
}else{
t = t->right;
continue;
}//else
}//else
}//while
return root;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
예제 1.15 UVALive-3902 트리의 검색
컨베이어 도어
제목 대의: n대의 기계는 하나의 트리 네트워크로 연결되어 잎 노드는 클라이언트이고 다른 노드는 서버이다.
처음에는 한 대의 서버만 하나의 서비스를 제공했지만 k의 거리 내의 클라이언트만 덮어쓸 수 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
2 2
/ \ / \
1 4 --> 1 4
/ / \
3 3 6
/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param root: The root of the binary search tree.
* @param node: insert this node into the binary search tree
* @return: The root of the new binary search tree.
*/
TreeNode* insertNode1(TreeNode* root, TreeNode* node) {
// write your code here
if(root == NULL)
{
root = node;
return root;
}//if
if(node->val < root->val)
{
if(root->left == NULL)
{
root->left = node;
}else{
root->left = insertNode1(root->left, node);
}//else
}else{
if(root->right == NULL)
{
root->right = node;
}else{
root->right = insertNode1(root->right, node);
}//else
}//else
return root;
}
//
TreeNode* insertNode(TreeNode* root, TreeNode* node) {
// write your code here
if(root == NULL)
{
root = node;
return root;
}//if
TreeNode *t = root;
while(t != NULL)
{
if(node->val < t->val)
{
if(t->left == NULL)
{
t->left = node;
return root;
}else{
t = t->left;;
continue;
}//else
}//if
else{
if(t->right == NULL)
{
t->right = node;
return root;
}else{
t = t->right;
continue;
}//else
}//else
}//while
return root;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
예제 1.15 UVALive-3902 트리의 검색컨베이어 도어 제목 대의: n대의 기계는 하나의 트리 네트워크로 연결되어 잎 노드는 클라이언트이고 다른 노드는 서버이다. 처음에는 한 대의 서버만 하나의 서비스를 제공했지만 k의 거리 내의 클라이언트만 덮어쓸 수 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.