09 2016 档案
摘要:用c++实现单链表的逆序输出。 题目描述:在已知单链表头节点的情况下,设计算法逆置单链表并输出 方法一:采用首先将头节点指向空,让其变为尾节点,然后利用中间节点 p、q 将其后的节点一个接一个改为指向前面的节点
阅读全文
摘要:7. Reverse Integer (略坑:) ) 使用变量rec只是为了判断一下是否越界。
阅读全文
摘要:本问题是求最长不重复子串。 给出一种方法: 例如:aplsdfgsjiuk,设置一个最长子串的起始位和结束位,a为起始位,b为结束位,当遍历aplsdfg时,下一位s重复,所以可以从d为起始位置在遍历。 时间复杂度为O(n)。
阅读全文
摘要:第一次写的有些麻烦,不好,问题关键是默认两个链表长度相等,前面补0即可。
阅读全文
摘要:public class Solution { public int[] twoSum(int[] nums, int target) { int []sum = new int[2]; for(int i = 0; i < nums.length;i++) { for(int j = i+1; j < n...
阅读全文
摘要:给出一个二叉树,输出它的最大宽度和高度。 输入: 第一行一个整数n。 下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。 5 2 3 4 5 0 0 0 0 0 0
阅读全文
摘要:插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 时间复杂度O(n^2) 插入排序是稳定的排序方法。
阅读全文
摘要:思想: 从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了 c++: 突然发现,java中arraylist很好用。 选择排序是一个不稳定的排序算法: 例如: 4,3,4,4,3,1 第一次交换,4的相对位置就变了。 选择排
阅读全文
摘要:原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位, 然后再从头开始进行两两比较交换,直到倒数第二位时结束, 冒泡就是每次将最大的元素放在最后。 例如: 原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 | 第一趟排序
阅读全文