原创 LeetCode-Swap Nodes in Pairs

#include <iostream> using namespace std; struct ListNode { int val; ListNode *next; }; void Swap(int *a,int *b

原创 LeetCode-Remove Duplicates from Sorted Array

#include <iostream> using namespace std; int removeDuplicates(int A[], int n)//雙指針思想,但還是wa了好多次,注意邊界 { if(n>=1)

原创 LeetCode-Convert Sorted Array to Binary Search Tree

#include <iostream> #include <vector> using namespace std; struct TreeNode { int val; TreeNode* left; Tree

原创 一點感想

        現在大三了,大一大二本想練習acm,但是學校沒有社團,宿舍的同學都在忙於上課的作業和電腦遊戲,讓我有一點小失望,不過自己學習一些acm的算法不會有壞處,反而我很喜歡acm,每天如果只是看看微博,刷刷新聞,會很無聊,還是在一

原创 LeetCode-Sort Colors

class Solution { public: void sortColors(int Array[], int length) { if(Array==NULL||length<=0) retu

原创 LeetCode-Search in Rotated Sorted Array

//爭取一次過int search(int A[], int n, int target) { if(A==0 || n==0) return -1; int left = 0; int

原创 LeetCode-Triangle

int minimumTotal(vector<vector<int> > &triangle) { int n=triangle.size(); for(int layer=n-2; layer>=0; --

原创 LeetCode-Path Sum II

class Solution { public: vector<vector<int> > pathSum(TreeNode *root, int sum) { vector<vector<int> >vec;

原创 LeetCode-Merge Two Sorted Lists

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(i

原创 位圖法

註明: 左移n位就是乘以2的n次方,右移n位就是除以2的n次方 解析本例中的void set(int i) { a[i>>SHIFT] |= (1<<(i & MASK)); } 1) i>>SHIFT: 其中SH

原创 LeetCode-Remove Duplicates from Sorted Array II

class Solution { public: int Duplicate(int i,int A[]) { int count=1; for(int j=i+1;A[i]==A[j];j++) {

原创 LeetCode-Valid Sudoku

//分別檢查列,行,所在的塊,看了別人的代碼class Solution { public: bool isValidSudoku(vector<vector<char> > &board) {

原创 LeetCode-Linked List Cycle

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(i

原创 位圖法

註明: 左移n位就是乘以2的n次方,右移n位就是除以2的n次方 解析本例中的void set(int i) { a[i>>SHIFT] |= (1<<(i & MASK)); } 1) i>>SHIFT: 其中SH

原创 LeetCode-Triangle

int minimumTotal(vector<vector<int> > &triangle) { int n=triangle.size(); for(int layer=n-2; layer>=0; --