原创 AQY:查找二叉樹中值爲k的節點
class TreeNode(): def __init__(self, x: int): self.val = x; self.left = None self.right =
原创 lipo指令 及 ar -x
lipo指令是Mac上的一款處理Binaries的工具,大致哪些用法在終端輸入lipo查看: -archs -create [-arch_blank <arch_type>] -detailed_info -ex
原创 劍指offer58 翻轉字符串
輸入字符串“the sky is blue”,輸出“blue is sky the” // python string = 'the sky is blue' class Solution(object): def rever
原创 劍指offer52 兩個鏈表的第一個公共節點
輸入兩個鏈表, 找出它們的第一個公共節點。 解體思路 公共結點的意思是相同的點,不僅值相同,next也相同,包括公共結點後面的節點也是完全相同,所以可以把兩條鏈表看成Y字型了,某一個結點後面的點全部一樣。例如3->2->1和4->2->1
原创 LeetCode 20:有效的括號
給定一個只包含'(',')','[','],'{','}'的字符串,判斷字符串是否有效。 示例: 輸入:"()", true 輸入:"()[]{}", true 輸入:"(]", false 輸入:"([)]", false 輸入:"([
原创 劍指Offer42 連續子數組的最大和
輸入一個整型數組,數組裏有正數也有負數。數組中的一個或連續多個整數組成一個子數組。求所有子數組的和的最大值。 要求時間複雜度爲O(n)。 示例1: 輸入: nums = [-2,1,-3,4,-1,2,1,-5,4] 輸出: 6 解釋:
原创 劍指offer50 第一個只出現一次的字符
在一個字符串(0<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫) 解題思路: 第一:利用python特性 string.count(str) 返回 st
原创 劍指offer I:從上到下打印二叉樹
從上到下打印出二叉樹的每個節點,同一層的節點按照從左到右的順序打印。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9
原创 查找二叉樹的節點(某一值的節點)
#include <iostream> #include <stdio.h> #include <stdlib.h> struct BinaryTreeNode{ char value; struct BinaryTr
原创 劍指 Offer 25:合併兩個排序的鏈表
輸入兩個遞增排序的鏈表,合併這兩個鏈表並使新鏈表中的節點仍然是遞增排序的。 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 // 時間度底的寫法 優雅 class LinkNode(): def
原创 LeetCode445: 兩數相加 II
給你兩個 非空 鏈表來代表兩個非負整數。數字最高位位於鏈表開始位置。它們的每個節點只存儲一位數字。將這兩數相加會返回一個新的鏈表。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 示例: 輸入:(7 -> 2 -> 4 ->
原创 算法題:輸入任意十進制正整數,將此十進制數轉爲二進制,求二進制中1的個數。
int a = 10; // 10模擬任意整數 NSMutableArray *array = [NSMutableArray array]; while (a != 1) { int
原创 安裝PIL一直失敗,切換源解決辦法
今天在用Python處理圖片過程中,需要安裝PIL,但一致遇到time out超時等error信息,導致沒辦法下載安裝,最終發現需要切換爲國內的源,下面清華源: pip install -i https://pypi.tuna.tsin
原创 劍指offer48 最長不含重複字符的子字符串
題目:請從字符串中找出一個最長的不包含重複字符的子字符串,計算該最長子字符串的長度,假設字符串中只包’a’~’z’字符。例如,在字符串’arabcacfr’中,最長的不含重複字符的子字符串是’acfr’,長度是4 摘自力扣一個比較好的解決
原创 劍指 Offer 68 II:二叉樹的最近公共祖先
給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先表示爲一個結點 x,滿足 x 是 p、q 的祖先且 x 的深度儘可能大(一個節點也可以是它自己的祖