原创 leetcode--合併K個排序鏈表

合併 k 個排序鏈表,返回合併後的排序鏈表。請分析和描述算法的複雜度。示例:輸入:[   1->4->5,   1->3->4,   2->6 ]輸出: 1->1->2->3->4->4->5->6# Definition for sing

原创 leetcode--刪除鏈表中的節點

請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。現有一個鏈表 -- head = [4,5,1,9],它可以表示爲: 示例 1:輸入: head = [4,5,1,9], node = 5輸出: [

原创 leetcode--兩數之和

給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。示例:給定 nums = [2, 7,

原创 leetcode--用棧實現隊列

使用棧實現隊列的下列操作:push(x) -- 將一個元素放入隊列的尾部。pop() -- 從隊列首部移除元素。peek() -- 返回隊列首部的元素。empty() -- 返回隊列是否爲空。示例:MyQueue queue = new M

原创 leetcode--翻轉二叉樹

翻轉一棵二叉樹。示例:輸入:     4    /   \   2     7  / \   / \ 1   3 6   9輸出:     4    /   \   7     2  / \   / \ 9   6 3   1# Defin

原创 leetcode--字符串翻轉

不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。你可以假設數組中的所有字符都是 ASCII 碼錶中的可打印字符。 示例 1:輸入:["h","e","l","l","o"]輸出:["o","l

原创 python 的內置模塊堆 heapq

In [1]: import heapq

原创 leetcode--合併兩個有序的鏈表

將兩個有序鏈表合併爲一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例:輸入:1->2->4, 1->3->4輸出:1->1->2->3->4->4# Definition for singly-linked l

原创 leetcode--二叉樹的層次遍歷

給定一個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。例如:給定二叉樹: [3,9,20,null,null,15,7],    3    / \   9  20     /  \    15   7返回其層次遍歷

原创 常見python內置數據結構算法

數據結構/算法 語言內置 內置庫 線性結構 list/tuple arry/collections.namedtuple 鏈式結構 collections.deque(雙端隊列) 字典結構 dict collecti

原创 python3相對於python2有哪些改進呢?

一、python3的改進 1、python3 引入了 asyncio 來進行異步IO編成 2、print 在python2 是關鍵字,python3 是函數 3、編碼問題,python3 不再有unicode對象, str 即爲unicod

原创 python 內置模塊collections

1、namedtuple from collections import namedtuple websites = [('Sohu', 'http://www.google.com/', u'張朝陽'),('Sina', 'http://