- 博客(8)
- 收藏
- 关注
原创 9.2链表(一)——移除未排序链表中的重复结点
/** * 功能:移除未排序链表中的重复结点。 */两种方法:1、/*直接迭代访问整个链表,将每个节点加入散列表。若发现有重复元素,则将该节点从链表中移除, 然后继续迭代。*/ /*Hashtable只是起到检查是否重复的作用,操作仍是在链表上*/ publicstaticvoiddeleteDups(LinkedListNod
2015-07-31 14:12:25 1411
原创 9.1数组与字符串(七)——检查s2是否为s1旋转而成
/** * 功能:假定有一个方法isSubstring,可检查一个单词是否为其他字符串的子串。给定两个字符串 * s1和s2,检查s2是否为s1旋转而成,要求只能调用一次isSubstring。 */方法:判断s2是不是s1s1的子串。 publicstaticbooleanisRotation(Strings1,Strings2){
2015-07-30 17:15:15 631
原创 9.1数组与字符串(六)——若M*N矩阵中某个元素为0,则将其所在的行与列清零
/** * 功能:若M*N矩阵中某个元素为0,则将其所在的行与列清零。 */注意:陷阱!!!若直接遍历整个矩阵,只要发现值为零的元素,就将其所在的行与列清零。在读取被清零的行或列时,读到的全是0,于是所在行与列都变为零,最终整个矩阵被清零。正解:新建一个矩阵标记零元素位置,第二次遍历再清零。 publicstaticvoidsetZeros(
2015-07-30 17:14:21 1276
原创 9.1数组与字符串(五)——矩阵的转置
/** * 功能:给定一幅由N*N矩阵表示的图像,其中每个像素的大小为4字节,编写一个方法,将图像旋转90度, * 不占用额外内存空间。 */ publicstaticvoidrotate(int[][]matrix,intn){ for(intlayer=0;layern/2;layer++)
2015-07-30 17:11:51 509
原创 9.1数组与字符串(四)——字符串压缩
/** * 功能:利用字符重复出现的次数,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变成 * a2b1c5a3.若压缩后的字符串没有变短,则返回原来的字符串。 */五种方法:1、用两个数组分别存放字符和对应的出现次数 //Mine:用两个数组分别存放字符和出现次数 publicstaticvoidcompress
2015-07-30 17:10:29 523
原创 9.1数组与字符串(三)——将字符串中的空格全部替换为“%20”
/** * 功能:将字符串中的空格全部替换为“%20”。假定该字符串尾部有足够的空间存放新增字符,并且 * 知道字符串的“真实”长度。 *注意:java数组长度不可变 */注意:处理字符串操作问题时,一般从字符串尾部开始编辑,从后往前反向操作(字符串尾部有额外的缓冲,不必担心覆盖原有数据);方法:第一次遍历得到空格数量,计算出字符串的新长度。第二次遍历开始反向编辑字
2015-07-30 17:07:34 458
原创 9.1数组与字符串(二)——两个字符串的中一个重新排列后,能否变成另一个字符串
/** * 功能:给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 */两种方法:1、首先对字符串排序,然后比较是否相同(最优) //首先对字符串排序,然后比较 publicstaticbooleanpermutation(Stringstr1,Stringstr2){ if(
2015-07-30 17:03:59 496
原创 9.1数组与字符串(一)——确定一个字符串的所有字符是否完全不同
功能:确定一个字符串的所有字符是否完全不同。三种方法:(默认为ASCII码)1、将字符串章的每一个字符与其余字符进行比较:时间复杂度高O(n*n)。 //时间复杂度为O(n*n) publicstaticbooleanisDifferent(Stringstr){ booleanflag=true
2015-07-30 16:56:09 350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人