筆試題 層序輸入一顆二叉樹

2021-09-25 17:30:18 字數 1049 閱讀 6539

在某一棵二叉樹中找出和為某一值的所有路徑

輸入格式:

第一行 期望值

第二行 按照層序遍歷順序給出的完全二叉樹, 若空用 # 表示

輸入:6 3 1 # # 4 1 # # # # # # # 1

輸出:6 3 

6 1 1 1 

#define _crt_secure_no_warings

#include #include #include #include #include using namespace std;

struct treenode

};void find(treenode* root, int expectnumber, vector> &res, vector&path)

if (root->left)

find(root->left, expectnumber, res, path);

if (root->right)

find(root->right, expectnumber, res, path);

path.pop_back();

}vector> findpath(treenode* root, int expectnumber)

treenode *constructbinarytree(vector&arr, int len, int i)

return root;

}void preordertra(treenode *root) //遞迴前序遍歷 }

int main()

treenode* root = constructbinarytree(vec, (int)vec.size(), 0);

//preordertra(root);

vector> res = findpath(root, expectnum);

for (int i = 0; i < (int)res.size(); i++)

system("pause");

}

程式設計練習之一顆二叉樹包含另一顆二叉樹

劍指offer上的一道程式設計練習,如何確定二叉樹a包含一棵相對小一點的二叉樹b?思路 用兩個函式實現,第乙個首先判斷根結點是否相等,第二個函式繼續判斷子結構是否相等 函式一 第一步,首先從根結點入手,判斷proota的值是否與prootb的根結點的值是否相等。若相等,則在比較a樹的子結構是否包含b...

輸入一顆二叉樹,判斷該二叉樹是否為平衡樹

package dlinkedlist author zhou jian date 2020 2020 3 27 0027 17 04 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。左右兩顆子樹的深度相差不超過1 public class problem26 左右子樹的深度的差大於1的話則返回fal...

二叉樹面試題(二) 求一顆二叉樹的映象

一 二叉樹的映象就是乙個樹在鏡子裡的成像 好吧!初中的物理知識來了,哈哈,其實很簡單,採用遞迴的方法求二叉樹的映象 1 如果樹為空,直接返回null 2 如果樹不為空,求其左子樹和右子樹的映象,遞迴完成後,將左子樹的映象放在根結點的右邊,將右子樹的映象放在根結點的左邊 二 圖說 三 實現 inclu...