摘要: 题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类 更好理解的思路:在按层遍历二叉树(上一题)的基础上 加个奇数偶数的判断就行 思路:leetcode上的最优解,思路就是dfs,而不是一层一层遍历,层数是 阅读全文
posted @ 2017-04-11 02:47 雪浪snowWave 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路:典型递归。。。 阅读全文
posted @ 2017-04-11 02:44 雪浪snowWave 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针 思路:.二叉树为空,则返回空;节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点 节点不是根节点。如果该 阅读全文
posted @ 2017-04-11 02:42 雪浪snowWave 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:难点在于指针的控制。。。。 阅读全文
posted @ 2017-04-11 02:39 雪浪snowWave 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目:一个链表中包含环,请找出该链表的环的入口结点。 思路:先判断有没有环,设快慢指针,快的走两步,慢的走一步,直到指向同一个节点,此时再让快指针从头走,慢指针从刚才的位置,两指针一起走,直到指向一致 来更新一个鬼畜的解 补一问,判断是是否有环 阅读全文
posted @ 2017-04-11 02:34 雪浪snowWave 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 思路:基于map的思路,,类型题 阅读全文
posted @ 2017-04-11 02:29 雪浪snowWave 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 思路:正则匹配。。但要知道那些情况符合 阅读全文
posted @ 2017-04-11 02:28 雪浪snowWave 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 思路:模拟正则表达式。。。 阅读全文
posted @ 2017-04-11 02:26 雪浪snowWave 阅读(149) 评论(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]。不能使用除法。 思路:基于动态规划,先求i-1个和后n-i个乘积,保存之后求B[i] 阅读全文
posted @ 2017-04-11 02:24 雪浪snowWave 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 思路:基于map的思路。。 阅读全文
posted @ 2017-04-11 02:18 雪浪snowWave 阅读(99) 评论(0) 推荐(0) 编辑