二叉树
hongximayfive
这个作者很懒,什么都没留下…
展开
-
把二叉树打印成多行
题目要求:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行解题关键:(1)使用队列保存从根节点开始的所有待打印节点,每次都输出队首的结点,并将该节点的儿子均压入队尾,直到队列为空,打印完毕,这是按层输出的关键(2)如果加上“每层输出一行”这个约束条件,就需要在每开始打印一层之前,用一个sum标记该层的结点数目(根节点所在层sum=1),然后用一个num记录压入队尾的该层结点的孩子原创 2016-08-17 21:05:57 · 288 阅读 · 0 评论 -
二叉搜索树转双向链表
题目要求:将一个二叉树转化成双向链表,但是不能创建任何新的结点,只能通过调整指针来达到目的解题思路:将二叉树的左子树变成一个双向链表,并将左双向链表的尾节点和根节点双向链接;将右子树的变成双向链表,并将右双向链表的头结点与树根双向链接,最后返回左双向链表的头结点,也就是得到的双向链表的头结点,容易看出这是一个递归,递归的临界条件为叶子结点; struct TreeNode { int原创 2016-08-19 11:02:57 · 266 阅读 · 0 评论