二叉樹單層節點組成鍊錶

2021-08-14 21:33:35 字數 784 閱讀 2924

題目描述

對於一棵二叉樹,請設計乙個演算法,建立含有某一深度上所有結點的鍊錶。

給定二叉樹的根結點指標treenode* root,以及鍊錶上結點的深度,請返回乙個鍊錶listnode,代表該深度上所有結點的值,請按樹上從左往右的順序鏈結,保證深度不超過樹的高度,樹上結點的值為非負整數且不超過100000。

/*

struct treenode

};*/

/*struct listnode

};*/

class treelevel

q.pop();

if (node->left) q.push(node->left);

if (node->right) q.push(node->right);

}++num;

}listnode* r = new listnode(0);

listnode* start = r;

for(auto i: temp)

return start->next;

}};

class treelevel 

void inorder(treenode* root, int dep)

inorder(root->left, dep -

1); inorder(root->right, dep -

1); }

private:

listnode *p;

};

二叉樹 二叉鍊錶

include using namespace std typedef char elemtype int n 0 typedef struct binode binode class bitree bitree binode getroot void preorder binode root 前序...

n節點組成二叉樹的個數

可以分析,當n 1時,只有1個根節點,則只能組成1種形態的二叉樹,令n個節點可組成的二叉樹數量表示為h n 則h 1 1 h 0 0 當n 2時,1個根節點固定,還有2 1個節點。這乙個節點可以分成 1,0 0,1 兩組。即左邊放1個,右邊放0個 或者左邊放0個,右邊放1個。即 h 2 h 0 h ...

二叉樹(二叉鍊錶實現)

二叉鍊錶結構的二叉樹模型,棧用自己寫的模版,佇列就不了 直接用stl的,不然 太長了 檔案 tree.h include include includeusing namespace std templateclass my stack templateclass node 結點類 node t d...