上一页 1 2 3 4 5 6 7 8 ··· 32 下一页
摘要: 把二叉树打印成多行 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 func Print(root *TreeNode) [][]int { if root == nil { return [][]int{} } queue := []*TreeNode{root} res := 阅读全文
posted @ 2021-04-11 00:28 zqlucky 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 按之字形顺序打印二叉树 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路:最暴力的方法就是使用队列进行层次遍历,使用sz存储每层的节点个数。然后反转偶数层就可以了。 优化方法:使用两个栈,一个栈存奇 阅读全文
posted @ 2021-04-11 00:26 zqlucky 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 方法1:递归版本 func helper(Left, Right *TreeNode) bool { if Left == nil && Right== nil { retu 阅读全文
posted @ 2021-04-10 23:33 zqlucky 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 二叉树的下一个结点 题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路:根的前一个节点是左子树遍历的最后一个节点,根节点的下一个节点是右子树遍历的第一个节点,即右子树最左边的节点。 本题的思路是:按照当前 阅读全文
posted @ 2021-04-10 23:18 zqlucky 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 删除链表中重复的结点 题目: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路: 由于给定的链表是排好序的,因此重复的元素在链表中出现的位置是连续的,因此我们只需要对链表 阅读全文
posted @ 2021-04-10 23:10 zqlucky 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 链表中环的入口结点 题目:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路:这题需要知道a = c,然后head和slow每次走一步,相遇的时候就是第一个入口交点,需要注意应该写head != slow -> next,如果写成head == slow,在两个元素组成 阅读全文
posted @ 2021-04-10 23:06 zqlucky 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 字符流中第一个不重复的字符 题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返 阅读全文
posted @ 2021-04-10 23:01 zqlucky 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 表示数值的字符串 题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 思路: 1、这个题很恶心人 阅读全文
posted @ 2021-04-10 22:12 zqlucky 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 正则表达式匹配 题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和" 阅读全文
posted @ 2021-04-10 21:48 zqlucky 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 收获:先把公式想清楚了再编程序就会思路清晰,写程序写的快。 b[0] 1 A[1] 阅读全文
posted @ 2021-04-10 21:30 zqlucky 阅读(52) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 32 下一页