查詢二叉樹中最長的連續白色節點的長度

2021-06-13 15:09:22 字數 976 閱讀 1419

//#include "stdafx.h"

#include using namespace std;

typedef enum _color

color;

typedef struct _node

node;

void findlwinternal(node* root, node **ppdestnode, int &curmaxlen, std::vector*pvector)

findlwinternal(root->left, ppdestnode, curmaxlen, pvector);

findlwinternal(root->right, ppdestnode, curmaxlen, pvector);

pvector->pop_back();

} else

findlwinternal(root->left, ppdestnode, curmaxlen, &vector);

findlwinternal(root->right, ppdestnode, curmaxlen, &vector);

vector.pop_back();

} }else }

void findlwinternal2(node* root, node **ppcurroot, node **ppdestnode, int &curlen, int &maxlen)

curlen++;

if (curlen > maxlen)

findlwinternal2(root->left, ppcurroot, ppdestnode, curlen, maxlen);

findlwinternal2(root->right, ppcurroot, ppdestnode, curlen, maxlen);

curlen--;

} else }

int _tmain(int argc, _tchar* argv)

二叉樹最長連續序列 LintCode

描述 給一棵二叉樹,找到最長連續路徑的長度。這條路徑是指 任何的節點序列中的起始節點到樹中的任一節點都必須遵循 父 子 聯絡。最長的連續路徑必須是從父親節點到孩子節點 不能逆序 樣例 舉個例子 1 3 2 4 5最長的連續路徑為 3 4 5,所以返回 3。2 3 2 1最長的連續路徑為 2 3 而不...

二叉樹刪除節點, 查詢二叉樹最大值節點

從根節點往下分別查詢左子樹和右子樹的最大節點,再比較左子樹,右子樹,根節點的大小得到結果,在得到左子樹和右子樹最大節點的過程相似,因此可以採用遞迴的 樹節點結構 public class treenode public class solution treenode left maxnode roo...

二叉樹系列問題 求二叉樹中最遠節點的距離

求二叉樹中最遠節點的距離,我們首先要對最遠距離有清晰的認識,最遠距離分為以下三類情況 因此我們在計算距離時總要與前一次的距離作比較,只有當此次左右距離之和大於max值才更改max的值,我們可以使用後續遍歷來計算最遠距離,此時時間複雜度為o n 使用前序遍歷也是可以的,但時間複雜度為o n n 綜合比...