原创 [leetcode][C++][數組]從排序數組中刪除重複項

1.題目 給定一個排序數組,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。 示例 1: 給定數組 nums

原创 [劍指offer][leetcode]面試22:鏈表中倒數第k個節點

題目 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 分析 類似於鏈表的中間節點,我們採用快慢指針通過遍歷一次鏈表解決這個問題。我們要找的是倒數第k個節點,倒數第k個節點和最後一個節點距離是k-1。由此,如果快指針和慢指針相距k-

原创 [劍指offer][leetcode.141]環形鏈表

題目 給定一個鏈表,判斷鏈表中是否有環。 爲了表示給定鏈表中的環,我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環。 示例 1: 輸入:head = [3

原创 [劍指offer][leetcode.237]刪除鏈表中的節點

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

原创 【XML報錯】xml.etree.ElementTree.ParseError: syntax error: line 1, column 0

錯誤原因:文件格式錯誤;去檢查一下自己讀的這個文件是否是XML 我這次犯錯,粗心大意,讀了一個json文件  

原创 [劍指offer][leetcode]面試題18:刪除鏈表的節點

1. 在O(1)時間內刪除鏈表節點 給定一個單向鏈表的頭指針和一個節點指針,定義一個函數在O(1)時間內刪除該節點。 首先定義一個結構體表示鏈表元素 typedef struct ListNode* Link; //寫一個

原创 [C++][Leetcode][TopK]前K大問題+前K高頻(堆+map)

前兩天面試的時候,面試官問了前K大的問題:先是找前K大數,其次是前K高頻數。按照面試官的思路一道一道展開~ 對總體過程中思考的知識點進行一個總結: 爲什麼快排常用? 在大規模數據的時候,快速排序只會線性增長,而堆排序增加幅度很大,會遠遠

原创 [劍指offer][leetcode.206]反轉鏈表

題目 反轉一個單鏈表。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 進階: 你可以迭代或遞歸地反轉鏈表。你能否用兩種方法解決這道題? 分析 1.迭代反轉 對於一個

原创 [劍指offer][[Leetcode]面試題7:重建二叉樹

1.題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉

原创 [leetcode][回溯][排序樹]全排列

1.題目 給定一個沒有重複數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3] 輸出: [   [1,2,3],   [1,3,2],   [2,1,3],   [2,3,1],   [3,1,2],   [3,2,1]

原创 劍指offer:面試題3:數組中重複的數字

1.數組介紹 首先對數組進行基本的介紹,數組的特點就是連續存儲。在C++中,我們一般有兩種類型的數組:一種是靜態數組,我們事先知道其大小。一種是動態數組,也就是vector,事先可以不規定大小。 2.題目介紹 這一類型題目有很多種

原创 [Leetcode.88][數組]合併兩個有序數組

提要 這是一道根據面試題5:替換空格從後向前遍歷的一道拓展題。 題目 給定兩個有序整數數組 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成爲一個有序數組。 說明: 初始化 nums1

原创 [劍指offfer]面試題8:二叉樹的下一個節點

1.題目 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。 2.code /* struct TreeLinkNode { int val

原创 [java]多項式加法

1.題目 題目內容: 一個多項式可以表達爲x的各次冪與係數乘積的和,比如: 2x6+3x5+12x3+6x+20 現在,你的程序要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。 程序要處理的冪最大爲10

原创 [leetcode][C++]兩兩交換鏈表中的節點

1.題目 給定一個鏈表,兩兩交換其中相鄰的節點,並返回交換後的鏈表。 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。   示例: 給定 1->2->3->4, 你應該返回 2->1->4->3. 來源:力扣(LeetCo