摘要:
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路:两个栈,父节点保存一个栈,从右到左输入,从左到右输出,孩子节点在另一个栈,从左到右输入,从右到左输出; vector<vector<int 阅读全文
posted @ 2020-05-29 17:01
troubleasy
阅读(138)
评论(0)
推荐(0)
摘要:
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路:p1节点应该跟p2节点相等,其中p2经过镜像操作后跟p1同一个位置。 镜像操作:每个节点的左右孩子交换位置 bool isSymmetrical(TreeNode* pRo 阅读全文
posted @ 2020-05-29 16:47
troubleasy
阅读(128)
评论(0)
推荐(0)
摘要:
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 /*struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNo 阅读全文
posted @ 2020-05-29 16:36
troubleasy
阅读(109)
评论(0)
推荐(0)
摘要:
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 ListNode* deleteDuplication(ListNode* pHead) { //这里的重复节点与例 阅读全文
posted @ 2020-05-29 16:23
troubleasy
阅读(87)
评论(0)
推荐(0)
摘要:
题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. ListNode* EntryNodeOfLoop(ListNode* pHead) { //链表为空,链表无环 while(pHead==NULL||pHead->next==NULL) return NULL; 阅读全文
posted @ 2020-05-29 16:17
troubleasy
阅读(90)
评论(0)
推荐(0)