編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 「」。
示例 1:說明:輸入: [「flower」,「flow」,「flight」] 輸出: 「fl」 示例 2:
輸入: [「dog」,「racecar」,「car」] 輸出: 「」 解釋: 輸入不存在公共字首。
所有輸入只包含小寫字母 a-z 。
/**
* @param strs
* @return
*/var
longestcommonprefix
=function
(strs)
ans = ans.
substr(0
, j);if
(ans ==="")
return ans;
}return ans;
};
給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:輸入: 「()」 輸出: true 示例 2:
輸入: 「(){}」 輸出: true 示例 3:
輸入: 「(]」 輸出: false 示例 4:
輸入: 「([)]」 輸出: false 示例 5:
輸入: 「」 輸出: true
/**
* @param s
* @return
*/var
isvalid
=function
(s)// 剪枝,字串長度為奇數,必然無效
if(len %
2===1)
// 定義字串匹配 map
const map =':
'// 使用棧來校驗閉合情況
const stack =
for(
let i =
0; i <= len -
1; i++
)else
}// 剪枝,如果待匹配左括號的數量超過一半,返回 false (奇數已先前排除)
if(stack.length > len /2)
}// 遍歷結束,如果仍有未匹配完的左括號,返回 false
if(stack.length >0)
else
};
將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。
示例:輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4
/**
* definition for singly-linked list.
* function listnode(val, next)
*//**
* @param l1
* @param l2
* @return
*/var
mergetwolists
=function
(l1, l2)
if(l2 ===
null)if
(l1.val < l2.val)
else
};
基礎練習03
1.將陣列a的內容和陣列b的內容交換 include include include int main int b int tmp 0 int i 0 int size sizeof a sizeof a 0 for i 0 i size i for i 0 i size i printf n fo...
程式流程控制03 迴圈結構練習題
另外遇到3的倍數列印foo 遇到5的倍數列印biz 遇到7的倍數列印baz for int i 1 i 150 i if i 5 0 if i 7 0 system.out.println 1 獲取兩個整數 scanner scanner new scanner system.in system.o...
鐵路 訊號組調工 技師 練習題 03
有極継電器在電磁系統中增加了 有極継電器磁路中用一塊端部成刃形的長條永久磁鋼代替了無極繼電器的 有極継電器的磁鋼和軛鐵間用 連線。繼電器銜鐵在整個運動過程中所受到的機械力是在 內變化的。有極継電器永久磁鋼上部的中間位置有一檯面,是為了形成均勻的 有極継電器 的中間有一凹槽,是為了拉桿下部不予磁鋼牴觸...