摘要: 本系列博客为《剑指Offer》的刷题笔记。请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 阅读全文
posted @ 2019-05-20 12:47 gzshan 阅读(1204) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。根结点的左右子树相同,左子树的左子树和右子树的右子树相同,左子树的右子树和右子树的左子树相同即可。 阅读全文
posted @ 2019-05-19 14:53 gzshan 阅读(998) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 阅读全文
posted @ 2019-05-19 14:50 gzshan 阅读(1041) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。 阅读全文
posted @ 2019-05-18 21:35 gzshan 阅读(1654) 评论(0) 推荐(1)
摘要: 本系列博客为《剑指Offer》的刷题笔记。给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。共分为三步:首先快慢指针判断是否存在环;然后从相遇点开始绕环一周,得到环中结点个数n;最后再利用两个指针(一个先走n步),再次相遇的点为环的入口点。 阅读全文
posted @ 2019-05-18 21:28 gzshan 阅读(1524) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 阅读全文
posted @ 2019-05-17 10:55 gzshan 阅读(1442) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100", "5e2", "-123"," 3.1416" 和 "-1E-16" 都表示数值。 但是 "12e", "1a3.14", "1.2.3", "+-5" 和 "12e+4.3" 都不是。 阅读全文
posted @ 2019-05-17 10:53 gzshan 阅读(1516) 评论(4) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。请实现一个函数用来匹配包括'`.`'和'`*`'的正则表达式。模式中的字符'`.`'表示任意一个字符,而'`*`'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"`a.a`"和"`ab*ac*a`"匹配,但是与"`aa.a`"和"`ab*a`"均不匹配。 阅读全文
posted @ 2019-05-16 10:02 gzshan 阅读(1511) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。给定一个数组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]`。不能使用除法。 阅读全文
posted @ 2019-05-16 09:57 gzshan 阅读(1704) 评论(0) 推荐(0)
摘要: 本博客主要讲述如何在已安装windows系统的计算机上安装Ubuntu双系统,涉及系统安装和相应磁盘空间分配等问题。 阅读全文
posted @ 2019-05-15 22:06 gzshan 阅读(404) 评论(0) 推荐(0)
摘要: 在windows10系统中,自带了一款ubuntu子系统,就像是一个应用程序,一款软件,提供ubutnu的terminal窗口,可以使用对应的命令行模式。最重要的是,可以直接用来连接linux服务器,不需要安装虚拟机,比较方便。下面介绍一下这个子系统的安装过程。 阅读全文
posted @ 2019-05-15 22:00 gzshan 阅读(6120) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 阅读全文
posted @ 2019-05-15 12:21 gzshan 阅读(2758) 评论(1) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 阅读全文
posted @ 2019-05-15 12:19 gzshan 阅读(1588) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。三步走策略,先求不带进位的模2和,再求进位,最后把和与进位相加。 阅读全文
posted @ 2019-05-14 12:01 gzshan 阅读(1147) 评论(0) 推荐(0)
摘要: 本系列博客为《剑指Offer》的刷题笔记。求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。本题本身没有太多的实际意义,但是可以对程序员的发散思维能力进行考察,进而可以反映出对编程相关技术理解的深度。 阅读全文
posted @ 2019-05-14 11:59 gzshan 阅读(1445) 评论(0) 推荐(1)