leetCode
19年,重新开始写
求学之路,泛结良师,广交益友
展开
-
删除已排序数组中的重复数据
题目理解:1.操作的对象是一个已经排好序的整形数组2.输出一个整形值length ,表示删除该整形数组中的重复数值之后的数组长度3.题目要求不能分配一个新的数组内存4.在最后,原来的数组的前length个数据时已经排好序的没有重复的该数组实现代码:public class Main{ public static void main(String[] args){ int原创 2017-01-14 23:12:39 · 348 阅读 · 2 评论 -
zigzag conversion 字符串的Z字形分离
zigzag conversion也就是所谓的字符串的Z字形分离算法,将指定的字符串根据Z字形结构分离成指定长度的子串题目如下: 实现代码:public class Main{ public static void main(String[] args){ String str = "PAYPALISHIRING"; int rows = 3;原创 2017-01-14 18:11:00 · 433 阅读 · 0 评论 -
罗马转换成阿拉伯数字,数值大小0-3999
罗马转换成阿拉伯数字的几个规则:1.I->1 V->5 X->10 L->50 C->100 D->500 M->10002.一般的规则是所有的罗马数字进行相加,也有一个特殊情况:如果I/X/C在大数前面,则是加数,如果在大数后面,则是减数具体代码实现:public class Main{ public static void main(String[] args){ Sy原创 2017-01-14 12:43:51 · 371 阅读 · 0 评论 -
合并两个有序列表
主要思想:同时遍历两个列表,同时对两个列表进行数值的比较,在这里是使用自定义的列表,因此比较的就是里面的val的值在这里需要注意几个细节:列表1为空和列表2为空两种情况的逻辑与和逻辑非的处理方法实现代码://自定义列表class ListNode{ int val; ListNode next; ListNode(int val){ val = val;原创 2017-01-14 17:56:18 · 672 阅读 · 0 评论 -
回文数的判断(考虑所有情况)
如下所有情况:1.当数值为负数时,返回false;即负数不是回文数2.当数值最后一个数为0并且这个数值本身不是0时,返回false3.如果是使用数值反转比较的话,需要考虑溢出的情况在此,我使用的是数值反转的思想,不过鉴于数据溢出的情况,在这里并不是反转整个数值,而是将数值进行折半反转赋值给一个数值,然后两个数值进行比较具体实现代码:public class Main{ public bo翻译 2017-01-14 11:54:54 · 492 阅读 · 0 评论 -
写一个算法,完成String to Integer的转换(考虑所有情况)
String to Integer总共需要考虑以下几种情况:1.当字符串长度为0时,此时输出转换为02.字符串前后的空格需要去掉,这里可以直接使用trim()方法即可3.如果出现形如"010a43"的字符串时,转换的整数以非数值之前的数值转换为准,也就是104.如果数值转换出现溢出,也就是大于Integer.MAX_VALUE,或者小鱼Integer.MIN_VALUE时,按照正负性对应输出最翻译 2017-01-14 00:15:57 · 439 阅读 · 0 评论 -
查找字符串数组的最大公共前缀
题目:给出一个字符串数组,输出所有项的最大长度的公共前缀考虑情况:字符串数组长度为0时,输出"";实现代码:public class Main{ public static void main(String[] args){ String strs[] = new String[]{"aa","a"}; new Main().longestCommonPref原创 2017-01-14 23:54:02 · 1017 阅读 · 1 评论