problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::lowest_common_ancestor_of_a_binary_search_tree::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static void copy (TreeNode *tn, TreeNodeP *tnp, int low, int high, TreeNodeP **p, TreeNodeP **q)
 
static TreeNodelowestCommonAncestor (TreeNode *root, TreeNode *p, TreeNode *q)
 

详细描述

在文件 leetcode.h2308 行定义.

成员函数说明

◆ copy()

void leetcode::lowest_common_ancestor_of_a_binary_search_tree::Solution::copy ( TreeNode tn,
TreeNodeP tnp,
int  low,
int  high,
TreeNodeP **  p,
TreeNodeP **  q 
)
static

在文件 leetcode.cpp6124 行定义.

6124 {
6125 tnp->mirror = tn;
6126 if(tn->val == low) {
6127 *p = tnp;
6128 } else if(tn->val == high) {
6129 *q = tnp;
6130 }
6131 if(tn->left != nullptr) {
6132 tnp->left = new TreeNodeP(tn->left->val);
6133 tnp->left->parent = tnp;
6134 copy(tn->left, tnp->left, low, high, p, q);
6135 }
6136 if(tn->right != nullptr) {
6137 tnp->right = new TreeNodeP(tn->right->val);
6138 tnp->right->parent = tnp;
6139 copy(tn->right, tnp->right, low, high, p, q);
6140 }
6141 }
static void copy(TreeNode *tn, TreeNodeP *tnp, int low, int high, TreeNodeP **p, TreeNodeP **q)
Definition: leetcode.cpp:6124

引用了 copy(), leetcode::TreeNode::left, leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::left, leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::mirror, leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::parent, leetcode::TreeNode::right, leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::right , 以及 leetcode::TreeNode::val.

被这些函数引用 copy() , 以及 lowestCommonAncestor().

◆ lowestCommonAncestor()

TreeNode * leetcode::lowest_common_ancestor_of_a_binary_search_tree::Solution::lowestCommonAncestor ( TreeNode root,
TreeNode p,
TreeNode q 
)
static

在文件 leetcode.cpp6104 行定义.

6104 {
6105 auto *const tnp = new TreeNodeP(root->val);
6106 TreeNodeP *pp;
6107 TreeNodeP *qq;
6108 copy(root, tnp, p->val, q->val, &pp, &qq);
6109 TreeNodeP *current = pp;
6110 while(current != nullptr) {
6111 current->ed = true;
6112 current = current->parent;
6113 }
6114 current = qq;
6115 while(current != nullptr) {
6116 if(current->ed) {
6117 return current->mirror;
6118 }
6119 current = current->parent;
6120 }
6121 return root;
6122 }
vector< int > root
Definition: acwing408.cpp:349

引用了 copy(), leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::ed, leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::mirror, leetcode::lowest_common_ancestor_of_a_binary_search_tree::TreeNodeP::parent, acwing::acwing836_408::root , 以及 leetcode::TreeNode::val.

被这些函数引用 leetcode::lowest_common_ancestor_of_a_binary_search_tree::TEST().


该类的文档由以下文件生成: