problemscpp
A collection of my answers to algorithm problems in c++.
| 函数
leetcode::delete_node_in_a_bst 命名空间参考

  1. Delete Node in a BST
更多...

class  Solution
 

函数

bool equal (TreeNode *tn1, TreeNode *tn2)
 
 TEST (delete_node_in_a_bst, case1)
 
 TEST (delete_node_in_a_bst, case2)
 
 TEST (delete_node_in_a_bst, case3)
 
 TEST (delete_node_in_a_bst, case4)
 

详细描述

  1. Delete Node in a BST

函数说明

◆ equal()

bool leetcode::delete_node_in_a_bst::equal ( TreeNode tn1,
TreeNode tn2 
)

在文件 leetcode_test.cpp3452 行定义.

3452 {
3453 if(tn1 == nullptr != (tn2 == nullptr)) {
3454 return false;
3455 }
3456 if(tn1 != nullptr && tn2 != nullptr) {
3457 if(tn1->val != tn2->val) {
3458 return false;
3459 }
3460 if(!equal(tn1->left, tn2->left)) {
3461 return false;
3462 }
3463 if(!equal(tn1->right, tn2->right)) {
3464 return false;
3465 }
3466 }
3467 return true;
3468 }
bool equal(TreeNode *tn1, TreeNode *tn2)
TreeNode * left
Definition: leetcode.h:25
TreeNode * right
Definition: leetcode.h:26

引用了 equal(), leetcode::TreeNode::left, leetcode::TreeNode::right , 以及 leetcode::TreeNode::val.

被这些函数引用 equal(), leetcode::partition_array_according_to_given_pivot::Solution::pivotArray() , 以及 TEST().

◆ TEST() [1/4]

leetcode::delete_node_in_a_bst::TEST ( delete_node_in_a_bst  ,
case1   
)

在文件 leetcode_test.cpp3470 行定义.

3470 {
3472 TreeNode *root = serialize_and_deserialize_binary_tree::Codec::deserialize("[5,3,6,2,4,null,7]");
3473 TreeNode *output = serialize_and_deserialize_binary_tree::Codec::deserialize("[5,4,6,2,null,null,7]");
3474 auto sol = Solution();
3475 ASSERT_TRUE(equal(output, sol.deleteNode(root, 3)));
3476 }
vector< int > root
Definition: acwing408.cpp:349

引用了 leetcode::serialize_and_deserialize_binary_tree::Codec::deserialize(), equal() , 以及 acwing::acwing836_408::root.

◆ TEST() [2/4]

leetcode::delete_node_in_a_bst::TEST ( delete_node_in_a_bst  ,
case2   
)

在文件 leetcode_test.cpp3478 行定义.

3478 {
3480 TreeNode *root = serialize_and_deserialize_binary_tree::Codec::deserialize("[5,3,6,2,4,null,7]");
3481 TreeNode *output = serialize_and_deserialize_binary_tree::Codec::deserialize("[5,3,6,2,4,null,7]");
3482 auto sol = Solution();
3483 ASSERT_TRUE(equal(output, sol.deleteNode(root, 0)));
3484 }

引用了 leetcode::serialize_and_deserialize_binary_tree::Codec::deserialize(), equal() , 以及 acwing::acwing836_408::root.

◆ TEST() [3/4]

leetcode::delete_node_in_a_bst::TEST ( delete_node_in_a_bst  ,
case3   
)

在文件 leetcode_test.cpp3486 行定义.

3486 {
3488 TreeNode *root = serialize_and_deserialize_binary_tree::Codec::deserialize("[]");
3489 TreeNode *output = serialize_and_deserialize_binary_tree::Codec::deserialize("[]");
3490 auto sol = Solution();
3491 ASSERT_TRUE(equal(output, sol.deleteNode(root, 0)));
3492 }

引用了 leetcode::serialize_and_deserialize_binary_tree::Codec::deserialize(), equal() , 以及 acwing::acwing836_408::root.

◆ TEST() [4/4]

leetcode::delete_node_in_a_bst::TEST ( delete_node_in_a_bst  ,
case4   
)

在文件 leetcode_test.cpp3494 行定义.

3494 {
3496 TreeNode *root = serialize_and_deserialize_binary_tree::Codec::deserialize("[3,2,5,null,null,4,10,null,null,8,15,7]");
3497 TreeNode *output = serialize_and_deserialize_binary_tree::Codec::deserialize("[3,2,7,null,null,4,10,null,null,8,15]");
3498 auto sol = Solution();
3499 ASSERT_TRUE(equal(output, sol.deleteNode(root, 5)));
3500 }

引用了 leetcode::serialize_and_deserialize_binary_tree::Codec::deserialize(), equal() , 以及 acwing::acwing836_408::root.