网站诊断案例,wordpress 存储插件,滦南县建设局网站,东莞网站设计知名乐云seo14. 最长公共前缀
1.题目#xff1a;
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀#xff0c;返回空字符串 。
示例 1#xff1a;
输入#xff1a;strs [flower,flow,flight]
输出#xf…14. 最长公共前缀
1.题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀返回空字符串 。
示例 1
输入strs [flower,flow,flight]
输出fl示例 2
输入strs [dog,racecar,car]
输出
解释输入不存在公共前缀。
2.思路
最长公共前缀横向扫描
结论查找字符串数组中的最长公共前缀的方法依次遍历字符串数组中的每个字符串对于每个遍历到的字符串更新最长公共前缀当遍历完所有的字符串以后即可得到字符串数组中的最长公共前缀。
如果在尚未遍历完所有的字符串时最长公共前缀已经是空串则最长公共前缀一定是空串因此不需要继续遍历剩下的字符串直接返回空串即可。
取第一个字符依次和后续字符比较更新最长公共前缀。
3.代码
public String longestCommonPrefix(String[] strs) {String prefixstrs[0];for(int i1;istrs.length;i){prefixlongestCommonPrefix(prefix,strs[i]);if(prefix.length()0){break;}}return prefix;}public String longestCommonPrefix(String a,String b){int lengthMath.min(a.length(),b.length());int index0;// while(indexlength a.charAt(index)b.charAt(index)){// index;// }for(int i0;ilength;i){if(a.charAt(i)b.charAt(i)){index;}else{break;}}return a.substring(0,index);}
2. 两数相加
1.题目
给你两个 非空 的链表表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的并且每个节点只能存储 一位 数字。
请你将两个数相加并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外这两个数都不会以 0 开头。
示例 1 输入l1 [2,4,3], l2 [5,6,4]
输出[7,0,8]
解释342 465 807.2.思路
要考虑进位同时添加头指针方便操作
3.代码 public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode prenew ListNode(0);ListNode currpre;int carry0;while(l1!null ||l2!null){int xl1null ? 0:l1.val;int yl2null ? 0:l2.val;int sumxycarry;carrysum/10;sumsum%10;curr.nextnew ListNode(sum);currcurr.next;if(l1!null){l1l1.next;}if(l2!null){l2l2.next;}}if(carry1){curr.nextnew ListNode(carry);}return pre.next;}