
剑指offer
文章平均质量分 78
xuezhan123
这个作者很懒,什么都没留下…
展开
-
复杂链表的复制笔记
剑指offer 复杂链表复制描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)大概思路复制链表成A->A'->B->B'->C->C'.....**注意:需要复制next和ra...原创 2018-03-19 22:05:50 · 153 阅读 · 0 评论 -
重构二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 这个问题写在这里,谨以此警示自己辣鸡的记性!=_=public class Solution { public TreeN...原创 2018-08-07 20:09:13 · 218 阅读 · 0 评论 -
对称二叉树
描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路这种题需要遍历二叉树,遍历二叉树有递归和非递归两种做法,那么这里也会有对应的递归和非递归两种思路1递归1先判断节点左右子树是否相等,如果相等的话 就比较左子树的右子树与右子树的左子树,&& 左子树的左子树和右子树的右子树。(文字有点绕口自...原创 2018-04-19 16:27:31 · 181 阅读 · 0 评论 -
链表中环的入口
题目表述一个链表中包含环,请找出该链表的环的入口结点。思路假设xxx为环前面的路程(黑色路程),aaa为环入口到相遇点的路程(蓝色路程,假设顺时针走), ccc为环的长度(蓝色+橙色路程),当快慢指针相遇的时候: 此时慢指针走的路程为Sslow=x+m∗c+aSslow=x+m∗c+aS_{slow}=x+m*c+a 快指针走的路程为Sfast=x+n∗c+aSfast=x+n...原创 2018-04-16 01:48:09 · 284 阅读 · 1 评论 -
素数对+判断质数
描述给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。 如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))输入:10输出2思路首先这道题,需要一个判断是不是质数的方法,然后从2开始一直到n/2,判断i和n-i是不是满足同时为质数,如果满足count++判断质数代码...原创 2018-04-03 02:09:48 · 345 阅读 · 2 评论 -
树的子结构笔记
描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路数A任何一个节点都有可能是树B的头结点,因此需要遍历树A的所有节点。需要些一个函数来判断当前节点是否等于树B, 写一个布尔类型函数doesTree1HaveTree2,参数为树A头结点,和树B头结点。public class Solution { public stati...原创 2018-03-27 12:49:17 · 205 阅读 · 0 评论 -
重建二叉树笔记
描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},根据前序和中序遍历特性可知,头结点为1,...原创 2018-03-22 11:35:50 · 195 阅读 · 0 评论 -
字符串全排列笔记
剑指offer 字符串全排列描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。思路> 这里参考了 https://www.nowcoder.com/questionTerminal/fe6b651b66ae47d7acce78ffdd9a96c7...原创 2018-03-20 23:03:52 · 189 阅读 · 0 评论 -
二叉搜索树与双向链表笔记
剑指offer 二叉搜索树与双向链表描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。大概思路树节点有两个指针,可改为双向链表节点的前后指针。 需要转成排序的双向链表,因为二叉搜索树的特性:中序遍历就是节点值排序结果。 所以考虑,非递归法中序遍历二叉树。/**public class TreeNode...原创 2018-03-20 11:04:51 · 197 阅读 · 0 评论 -
回溯法小结
回溯法字符串中查找一个单词public class aa{ public static void main(String[] args) { char[] xz= {'a','b','c','e','s','f','t','j','b','w','n','r','v','o','p','g','x','u'}; char[] xx = {'c','e',...原创 2018-10-07 19:46:57 · 323 阅读 · 0 评论