我需要建立在樹上所有的葉子列表
例如,我有以下三種:C二元樹,如何從樹上使列表離開
6
/\
4 3
/\ /\
1 2 5 7
treeNode的typedef的
typedef struct treeNode {
int data;
struct treeNode* parent;
struct treeNode* left;
struct treeNode* right;
} TreeNode;
我的列表應該1-> 2-> 5-> 7
列表的typedef
typedef struct list {
ListNode* head;
ListNode* tail;
} List;
listNode的typedef
typedef struct listNode {
int data;
struct listNode* next;
} ListNode;
Listnode->數據= TreeNode->數據; (該listnode結構數據)
的功能應該是通用的,我累了幾個遞歸函數,但沒有工作
任何想法? 在此先感謝。
做有序遍歷並檢查葉節點。 – letmutx
嘗試另一個遞歸函數。這是自然的走向。也許你可以發佈你最好的嘗試,並描述它是如何失敗的。 –
你是不是隻是同一所學院的學生,不喜歡做自己的作業? http://stackoverflow.com/questions/41541946/c-programming-how-to-get-list-of-leaves-from-tree – StoryTeller