151. 翻轉字串裡的單詞(中等,字串)
給定一個字串,逐個翻轉字串中的每個單詞。
示例:
輸入: "the sky is blue", 輸出: "blue is sky the". 說明:
- 無空格字元構成一個單詞。
- 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。
- 如果兩個單詞間有多餘的空格,將反轉後單詞間的空格減少到只含一個。
class Solution(object): def reverseWords(self, s): """ :type s: str :rtype: str """ l1=s[::-1] l2=l1.split() #分割,去掉多餘的空格 ls=[word[::-1] for word in l2] return ' '.join(ls)
執行用時: 24 ms, 在Reverse Words in a String的Python提交中擊敗了99.03% 的使用者
注意:裡面的名稱每次變換必須不同,不可以自身到自身,那樣會出錯。
相關推薦
151. 翻轉字串裡的單詞(中等,字串)
給定一個字串,逐個翻轉字串中的每個單詞。 示例: 輸入: "the sky is blue", 輸出: "blue is sky the". 說明: 無空格字元構成一個單詞。 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的
程式設計小練習:最大公約數,字串反序輸出,全排列,不用加減法求和,字串內容反序,字串中最長數字串,陣列是否遞增,陣列反轉,連結串列反轉,翻轉單詞順序
最大公約數 --- 遞迴、非遞迴 #include <stdio.h> int gcd(int a, int b); int gcd_recursive(int a, int b); int main(int argc, char *argv[]) {
輸入一行字串(單詞和若干空格), 輸出該行單詞個數 這裡用到判斷字元與否的isalpha
#include<stdio.h> #include<ctype.h> #include<string.h> void main() { int count; int i,sount; char a[90]; count =0; gets(a); if(isalp
C語言練習題每練 1:字串統計單詞個數,單詞由空格隔開
空格隔開,所以空格是一個標誌性的符號,可以通過空格來統計單詞的個數。首先,分析一下所能遇到的各種情況。相鄰兩個字元組合情況為:空空;空字:字空;字字。特殊情況考慮有全空,全字,空空空字空空空。 因為要兼顧前後所以需要兩個變數來指示,p指示前一個初始為0,C指示
131. 分割回文串(中等,字串)(12.25)
給定一個字串 s,將 s 分割成一些子串,使每個子串都是迴文串。 返回 s 所有可能的分割方案。 示例: 輸入: "aab" 輸出: [ ["aa","b"], ["a","a","b"] ] class Solu
187. 重複的DNA序列(中等,字串)(12.24)
所有 DNA 由一系列縮寫為 A,C,G 和 T 的核苷酸組成,例如:“ACGAATTCCG”。在研究 DNA 時,識別 DNA 中的重複序列有時會對研究非常有幫助。 編寫一個函式來查詢 DNA 分子中所有出現超過一次的10個字母長的序列(子串)。 示例: 輸入: s = "AAAAAC
165. 比較版本號(中等,字串)(12.24)
比較兩個版本號 version1 和 version2。 如果 version1 > version2 返回 1,如果 version1 < version2 返回&n
451. 根據字元出現頻率排序(中等,字串)(12.23)
給定一個字串,請將字串裡的字元按照出現的頻率降序排列。 示例 1: 輸入: "tree" 輸出: "eert" 解釋: 'e'出現兩次,'r'和't'都只出現一次。 因此'e'必須出現在'r'和't'之前。此外,"eetr"也是一個有效的答案。 class Solutio
迴文判斷程式碼(可以忽略字串中的空格,標點符號),舉個例子啊,abcddcba就是一個迴文。a b cd,dc ba也是一個迴文。
#include<stdio.h> #include<string.h> #define N 100 int main() { char a[N]; char b[N]; int len; int j = 0;
LintCode刷題指南:字串處理(C++,Python)
題目:兩個字串是變位詞 題目難度:簡單 題目描述: 寫出一個函式 anagram(s, t) 判斷兩個字串是否可以通過改變字母的順序變成一樣的字串。 解題思路: C++:引入雜湊的思維,這道題就迎刃而解了。 C++ Code: class Solution {public: /** * @par
PHP explode() 把字串打散為陣列,字串轉陣列
explode() 定義:explode() 函式使用一個字串分割另一個字串,並返回由字串組成的陣列 語法:explode(separator,string,limit); separator—必需。規定在哪裡分割字串。 string--------必需。要分割的字串。
c/c++字串拼接追加複製,字串和int相互轉換,sscanf的轉義
char s[100]="hello world"; //1.計算字串的長度 int lenth= strlen(s); printf("length=%d\n",le
datagrid的文字換行與連續字串換行處理,字串三種擷取方式
1 文字自動換行:nowrap:false 2 當時字串,比如email這樣的欄位時,就需要用到字串的拼接,首先,先貼出我解決問題的方法,再介紹字串的三種拼接方式: 我解決問題的方法:
129. 求根到葉子節點數字之和(中等,樹)
給定一個二叉樹,它的每個結點都存放一個 0-9 的數字,每條從根到葉子節點的路徑都代表一個數字。計算從根到葉子節點生成的所有數字之和。 示例 1: 輸入: [1,2,3] 1 / \ 2 3 輸出: 25 思路:先求出每條路徑上的數字組成的字串
230. 二叉搜尋樹中第K小的元素(中等,樹)
給定一個二叉搜尋樹,編寫一個函式 kthSmallest 來查詢其中第 k 個最小的元素。 說明: 你可以假設 k 總是有效的,1 ≤ k ≤ 二叉搜尋樹元素個數。 示例 1: 輸入: root = [3,1,4,null,2], k
102..103.199二叉樹的(鋸齒形)層次遍歷、右檢視(中等,樹)
102、給定一個二叉樹,返回其按層次遍歷的節點值(即逐層地,從左到右訪問所有節點)。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其層次遍歷結果: [ [3
144,145 二叉樹的前序,後序遍歷(中等,困難)
給定一個二叉樹,返回它的 前序 遍歷。 示例: 輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [1,2,3] # Definition for a binary tree node.
136.137. 只出現一次的數字 I. II(簡單,中等,陣列)
136.給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 示例 1: 輸入: [2,2,1] 輸出: 1 方法一: class Solution: def singleNumber(self, nums):
143. 重排連結串列(中等,鏈)(12.25)
給定一個單鏈表 L:L0→L1→…→Ln-1→Ln , 將其重新排列後變為: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。 示例 1: 給定連結串列 1->2->3->4,
216. 組合總和 III(中等,陣列)(12.25)
找出所有相加之和為 n 的 k 個數的組合。組合中只允許含有 1 - 9 的正整數,並且每種組合中不存在重複的數字。 說明: 所有數字都是正整數。 解集不能包含重複的組合。 示例 1: 輸入: k = 3,