摘要:
背景:昨天结束了2个月的实习,实习的内容是软件开发,语言用的最多是Java,当然也会自己在别人的基础上写一些JS、HTML。 1.语言表达很重要。 这项技能或许决定了我们能在职场上走多远。 1)当我们写代码遇到问题时,我们应该用准确的表述、得体的方式向同事表达出来,这样别人才可以很快的帮助到我们,共 阅读全文
摘要:
前提: 必须安装了JDK安装步骤:1. 下载Maven 到Maven官网下载:https://maven.apache.org/download.cgi,下载 apache-maven-3.5.0-bin.zip文件,如果想阅读源码并且想自己构建Maven,可以下载 apache-maven-3.5 阅读全文
摘要:
题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 题目分析: 最简单的是使用字典序生成法,这样可以把有重复字符串的情况也考虑进去。 Java实现代码: 阅读全文
摘要:
题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目分析:这其实就是斐波拉契数列,递归的思想,用递推来实现,防止栈溢出。 阅读全文
摘要:
题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目分析: f(0) = 1; 表示n级台阶一次跳n级,只有一种跳法 f(1) = 1; f(2) = 2; f(3) = f(2) + f(1)+ f(0) ... f(n) 阅读全文
摘要:
题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像 题目分析:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有非叶子结点的左右子结点之后,就得到了树的镜像。 Java代码: 阅读全文
摘要:
题目描述:树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 题目分析:此题可以拆成两题,1.在二叉树中查找是否存在某个结点;2.判断两个二叉树是否有相同的结构 Java代码: 阅读全文
摘要:
题目描述:输入两个单调递增的链表list1,list2,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目分析: 1.对于链表题目,首先考虑边界情况,即链表为空的情况,提升代码的鲁棒性。 2.合并完一个结点后,剩余的链表仍然是有序的,再合并下一个结点时的过程是一样的,这是一种 阅读全文
摘要:
题目描述:输入一个链表,输出该链表中倒数第k个结点 题目分析:因为不能直接从链表的尾部遍历,所以要分两步走: 第一步:从链表的头部开始遍历,直至链表的尾部,统计出链表结点的个数 第二步:根据链表结点的个数,计算出倒数第k个结点的位置(从头部看的位置),即n-k+1个结点,输出该结点。 Java代码: 阅读全文
摘要:
题目描述:调整数组顺序使奇数位于偶数前 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目分析: 题目的关键在于在移位以后,奇数和奇数以及偶数和偶数之间的相对位置保持不变。 阅读全文