上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 31 下一页
摘要: 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路 主要考察的是二叉树的层序遍历,见 二叉树层序遍历问题总结 两个小细节:1)每次循环新建一个list,这样就不用清空list了。 2)使用位 阅读全文
posted @ 2020-09-08 14:28 不学无墅_NKer 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路 可以看出,左右子树刚好是呈镜像的两颗二叉树,所以:对左子树采用(根-左-右)的前序遍历,右子树采用(根-右-左)的前序遍历的对称遍历,遍历时判断两个结点位置的值是否相等。( 阅读全文
posted @ 2020-09-07 12:48 不学无墅_NKer 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路 画图,分情况讨论。 1)如果一个节点 有 右子树,打印右子树最左边的节点。 2)一个节点 没有 右子树, 并且它还是它父节点的左孩子,直接打印它的父 阅读全文
posted @ 2020-09-06 15:49 不学无墅_NKer 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路 思路1:双指针非递归法。本题目的关键是要考虑到多种测试用例,例如重复的结点位于链表头部、中间、尾部。 思路2: 阅读全文
posted @ 2020-09-06 12:07 不学无墅_NKer 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路 思路1:使用HashMap。用Map保存链表中每个节点出现的次数,第一次出现2次的节点就是我们所要找的环的入口结点,如果没有找到,返回null。 思路2:快慢指针。将该问题分解为3个步骤: 1)确定链表是否有 阅读全文
posted @ 2020-09-05 22:24 不学无墅_NKer 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 思路 思路1 阅读全文
posted @ 2020-09-04 10:37 不学无墅_NKer 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 思路 思路1:调用库函数。通过调用Dou 阅读全文
posted @ 2020-09-03 14:55 不学无墅_NKer 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均 阅读全文
posted @ 2020-09-02 15:46 不学无墅_NKer 阅读(144) 评论(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] = A[1] * A[2] * ... * A[n-1],B[n- 阅读全文
posted @ 2020-09-02 10:12 不学无墅_NKer 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2 思路 思路1:排序。将输 阅读全文
posted @ 2020-09-01 22:11 不学无墅_NKer 阅读(204) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 31 下一页