1. 程式人生 > >Java leecode,14題:編寫一個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 ""。

Java leecode,14題:編寫一個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 ""。

編寫一個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串 ""

示例 1:

輸入: ["flower","flow","flight"]
輸出: "fl"

示例 2:

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。

說明:

所有輸入只包含小寫字母 a-z 。

class Solution {
    public String longestCommonPrefix(String[] strs) {
        String s="";
        int judge=1;
        if(strs.length==0){//陣列為空直接返回""
            return s;
        }
        for(int i=0;i<strs[0].length();i++){
            char a=strs[0].charAt(i);//直接選擇第一個陣列元素,依次取這個字串的字元
            
            for(int j=0;j<strs.length;j++){
                
                if(i>=strs[j].length()){//因為每個字串長度不同,防止溢位
                    judge=0;
                    break;
                }
                
                if(a!=strs[j].charAt(i)){
                    judge=0;//只要存在不同,直接退出
                    break;
                }
                
                else{
                    if(j==strs.length-1){
                        s=s+a;
                    }
                }
                
            }
            if(judge==0){
                break;
            }
        }
    
        return s;
    }
}

相關推薦

Java leecode,14編寫一個函式查詢字串陣列公共字首如果存在公共字首返回字串 ""

編寫一個函式來查詢字串陣列中的最長公共字首。 如果不存在公共字首,返回空字串 ""。 示例 1: 輸入: ["flower","flow","flight"] 輸出: "fl" 示例 2: 輸入: ["dog","racecar","car"] 輸出: "" 解釋

面試題編寫一個函式查詢字串陣列公共字首 如果存在公共字首返回字串 ""(c++實現)

例項說明 示例 1: 輸入: ["flower","flow","flight"] 輸出: "fl" 示例 2: 輸入: ["dog","racecar","car"] 輸出: "" 解釋: 輸入不存在公共字首。 說明: 所有輸入只包含小寫字母 a-z&

C++編寫一個函式查詢字串陣列公共字首如果存在公共字首返回字串 ""

設定一個臨時變數儲存第一個字串的每一位就可以了,比較第2-n個字串的是否一直相等 是的話儲存,不是的話返回之前的字串。 可能三個字串完全相同,所以最後還應該有一個return  示例 1: 輸入: ["flower","flow","flight"] 輸出: "f

LeetCode14 編寫一個函式查詢字串陣列公共字首 如果存在公共字首返回字串 ""

class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.size() == 0)

輸入一個整數陣列實現一個函式調整該陣列數字的順序使得所有的奇數位於陣列的前半部分 所有的偶數位於陣列的後半部分並保證奇數和奇數偶數和偶數之間的相對位置

/** * * 輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分, * 所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 * * */ public class Solution { public stati

輸入一個整數陣列實現一個函式調整該陣列數字的順序使得所有奇數位於陣列的前半部分所有偶數位於陣列的後半部分

1、基本實現:如果不考慮時間複雜度,最簡單的思路應該是從頭掃描這個陣列,每碰到一個偶數時,拿出這個數字,並把位於這個數字後面的所有的數字往前面挪動一位。挪完之後在陣列的末尾有一個空位,這時把該偶數放入這個空位。由於沒碰到一個偶數就需要移動O(n)個數字,因此總的時間複雜度是O

劍指offer題目描述 輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序使得所有的奇數位於陣列的前半部分所有的偶數位於位於陣列的後半部分並保證奇數和奇數偶數和偶數之間的相對位置

牛客網劍指offer線上程式設計: 方法一:利用兩個指標,實現了是陣列奇數在前偶數在後,但通過不了測試用例,因為改變了奇數和奇數,偶數和偶數之間的相對位置 class Solution { public:     void reOrderArray(vector<in

Java 實訓3編寫一個窗體程式模擬單詞拼寫

  package 實訓三; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.A

前端演算法給定兩個陣列編寫一個函式計算它們的交集(兩個陣列的交叉點)

給定兩個陣列,編寫一個函式來計算它們的交集。 例1: 輸入: nums1 = [1,2,2,1],nums2 = [2,2] 輸出:[2,2] 例2: 輸入: nums1 = [4,9,5],nums2 = [9,4,9,8,4] 輸出:[4,9] 注意: 結果

python練習編寫一個函式isIn接受兩個字串作為引數如果一個字串是另一個字串的一部分返回True否則返回False

python練習:編寫一個函式isIn,接受兩個字串作為引數,如果一個字串是另一個字串的一部分,返回True,否則返回False。 重難點:定義函式的方法。使用str型別的find()函式,可以查詢多個字元。第二種方法為把字串轉化為字元佇列,然後遍歷尋找,但是隻可以尋找一個字元。 1 print(

Python練習題6(判斷是否迴文聯)編寫一個函式判斷傳入的字串引數是否為“迴文聯”(迴文聯即用迴文形式寫成的對聯既可順讀也可倒讀例如上海自來水來自海上)

方法一:將字串分成兩半,將第一個和最後一個字元進行比較,若一樣則返回True.全部為True則為迴文聯 1 def isPalindrome(): 2 context = input("請輸入字串:") 3 len_half = len(context) // 2

程式設計編寫一個程式碼將“i am from shanghai”倒置為“shanghai from am i”

題目要求:編寫一個程式碼,將“i am from shanghai”倒置為“shanghai from am i”,即將句子中單詞的位置調換,                    但不改變單詞內部的順序 #include <stdio.h> #include

2的n次冪判斷一個數是否能寫成m個2相乘LeetCode 231號問題 給定一個整數編寫一個函式判斷它是否是 2 的冪次方

2的n次冪,判斷一個數是否能寫成m個2相乘,LeetCode 231號問題 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3:

LeetCode 100 給定兩個二叉樹編寫一個函式檢驗它們是否相同 如果兩個樹在結構上相同並且節點具有相同的值則認為它們是相同的

給定兩個二叉樹,編寫一個函式來檢驗它們是否相同。 如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。 /** * Definition for a binary tree node. * struct TreeNode { *

給定n對括號編寫一個函式生成正確括號的所有組合

本題源自leetcode ----------------------------------------------------------------------------------------------- 思路:  1  用回溯法。用變數m 表示左括號的數量。n

一道能做出就腳踢BAT的高難度演算法在元素重複三次的陣列查詢重複一次的元素

我們看一道難度很高的查詢類演算法題,如果你真能在一小時內給出正確的演算法和編碼,那麼你隨便在BAT開口年薪一百萬都不算過分。我們先看題目:給定一個數組,它裡面除了一個元素外,其他元素都重複了三次,要求在空間複雜度為O(1),時間複雜度為O(n)的約束下,查詢到只重複了一次的元素。 在

實現atoi這個函式一個字串轉換為整數如果沒有合法的整數返回0如果整數超出了32位整數的範圍返回INT_MAX(2147483647)如果是正整數

public class Solution {    /**     * @param str: A string     * @return: An integer     */    public int atoi(String str) {        // write your code here 

20190501-編寫一個函數查找字符串數組公共前綴如果存在公共前綴返回字符串

rac 基準 pan key type 最長 題目 long common 題目描述 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串 ""。 示例 1: 輸入: ["flower","flow","flight"] 輸出: "fl

返回一個首尾相連的整數陣列大子陣列的和數

設計思路:只要找到從A[0]開始和最大的一段(A[0]…..A[j])(0 <= j < n) 以及以A[n-1]結尾的和最大的一段(A[i]…..A[n-1])(0 <= i < n) 該種情況的最大值為A[i]+…..+A[n-1]+A[0]+….+A[j] 如果i <