diff --git "a/0002.\344\270\244\346\225\260\347\233\270\345\212\240/0002-\344\270\244\346\225\260\347\233\270\345\212\240.cpp" "b/0002.\344\270\244\346\225\260\347\233\270\345\212\240/0002-\344\270\244\346\225\260\347\233\270\345\212\240.cpp"
new file mode 100644
index 0000000..5fea752
--- /dev/null
+++ "b/0002.\344\270\244\346\225\260\347\233\270\345\212\240/0002-\344\270\244\346\225\260\347\233\270\345\212\240.cpp"
@@ -0,0 +1,30 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
+        ListNode* res = new ListNode(-1);
+        ListNode* cur = res;
+        int carry = 0;
+        while(l1 || l2){
+            int t1 = l1? l1->val : 0;
+            int t2 = l2? l2->val : 0;
+            int sum = t1 + t2 + carry;
+            carry = sum / 10;
+            cur->next = new ListNode(sum % 10);
+            cur = cur->next;
+            if (l1) l1 = l1->next;
+            if (l2) l2 = l2->next;
+        }
+        if (carry) cur->next =new ListNode(1);
+        return res->next;
+        
+        
+    }
+};
\ No newline at end of file
diff --git "a/0003.\346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262/0003-\346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.cpp" "b/0003.\346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262/0003-\346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.cpp"
new file mode 100644
index 0000000..e3da398
--- /dev/null
+++ "b/0003.\346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262/0003-\346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.cpp"
@@ -0,0 +1,28 @@
+class Solution {
+public:
+    int lengthOfLongestSubstring(string s) {
+    
+        string dic = "";
+        int ans = 0;
+        int i = 0;
+        int j = 0;
+        int l = s.size();
+        while( i < l && j < l ){
+            char a = s[i];
+            char b = s[j];
+            // cout<<dic.find(b)<<endl;
+            if (dic.find(b) >= 0 && dic.find(b) < 99999999){
+                i += 1;
+                dic.erase(0, 1); 
+            }
+            else{
+                j += 1;
+                dic.push_back(b);
+                // cout << "Dasdas" << endl;
+            }
+            ans = ans < j-i ? j-i : ans;
+            // cout <<i<<" "<<j << endl;
+        }
+        return ans;
+    }
+};
\ No newline at end of file
diff --git "a/0009.\345\233\236\346\226\207\346\225\260/0009-\345\233\236\346\226\207\346\225\260.py" "b/0009.\345\233\236\346\226\207\346\225\260/0009-\345\233\236\346\226\207\346\225\260.py"
new file mode 100644
index 0000000..e40b713
--- /dev/null
+++ "b/0009.\345\233\236\346\226\207\346\225\260/0009-\345\233\236\346\226\207\346\225\260.py"
@@ -0,0 +1,11 @@
+class Solution(object):
+    def isPalindrome(self, x):
+
+        s = str(x)
+        if len(s) <= 1:
+            return True
+        print len(s) / 2
+        for count in range(0, len(s)/2):
+            if s[count] != s[len(s)-1  - count]:
+                return False
+        return True
\ No newline at end of file
diff --git "a/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271/0019-\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.py" "b/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271/0019-\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.py"
new file mode 100644
index 0000000..45d8dba
--- /dev/null
+++ "b/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271/0019-\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.py"
@@ -0,0 +1,33 @@
+# Definition for singly-linked list.
+# class ListNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.next = None
+
+class Solution(object):
+    def removeNthFromEnd(self, head, n):
+        """
+        :type head: ListNode
+        :type n: int
+        :rtype: ListNode
+        """
+        if not head.next:
+            return []
+        p = head
+        if n == 1:
+            while(p.next.next):
+                p = p.next
+            p.next = None
+        else:
+            fast = head
+            slow = head
+            for i in range(n-1):
+                fast = fast.next
+            print fast.val,slow.val
+            while(fast.next):
+                fast = fast.next
+                slow = slow.next
+            print fast.val,slow.val 
+            slow.val = slow.next.val
+            slow.next = slow.next.next
+        return head
\ No newline at end of file
diff --git "a/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/0020-\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.py" "b/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/0020-\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.py"
new file mode 100644
index 0000000..5044c13
--- /dev/null
+++ "b/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/0020-\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.py"
@@ -0,0 +1,16 @@
+class Solution(object):
+    def isValid(self, s):
+        """
+        :type s: str
+        :rtype: bool
+        """
+        if len(s)%2:
+            return False
+        dic = {")":"(","]":"[","}":"{"}
+        stack = [None]
+        for item in s:
+            if item in dic and stack[-1] == dic[item]:
+                stack.pop()
+            else:
+                stack.append(item)
+        return len(stack) == 1
diff --git "a/0021.\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/0021-\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250.cpp" "b/0021.\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/0021-\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250.cpp"
new file mode 100644
index 0000000..d933e48
--- /dev/null
+++ "b/0021.\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/0021-\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250.cpp"
@@ -0,0 +1,30 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
+        ListNode temp_head(0);
+        ListNode* pre = &temp_head;
+        while(l1 && l2){
+            if (l1->val<= l2->val){
+                pre->next = l1;
+                l1 = l1->next;
+            }
+            else{
+                pre->next = l2;
+                l2 = l2->next;
+            }
+            pre = pre->next;
+        }
+        if(l1) pre->next = l1;
+        if(l2) pre->next = l2;
+        return temp_head.next;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0022.\346\213\254\345\217\267\347\224\237\346\210\220/0022-\346\213\254\345\217\267\347\224\237\346\210\220.py" "b/0022.\346\213\254\345\217\267\347\224\237\346\210\220/0022-\346\213\254\345\217\267\347\224\237\346\210\220.py"
new file mode 100644
index 0000000..3801859
--- /dev/null
+++ "b/0022.\346\213\254\345\217\267\347\224\237\346\210\220/0022-\346\213\254\345\217\267\347\224\237\346\210\220.py"
@@ -0,0 +1,23 @@
+class Solution(object):
+    def generate(self, temp, left, right, result):
+        if (left == 0 and right == 0):
+            result.append(temp)
+            return
+        if (left > 0):
+            self.generate(temp + "(", left-1, right, result)
+        if (left < right):
+            self.generate(temp + ")", left, right - 1, result)
+            
+    def generateParenthesis(self, n):
+        """
+        :type n: int
+        :rtype: List[str]
+        """
+        result = []
+        self.generate("", n, n, result)
+        return result
+    
+
+            
+        
+        
\ No newline at end of file
diff --git "a/0023.\345\220\210\345\271\266K\344\270\252\346\216\222\345\272\217\351\223\276\350\241\250/0023-\345\220\210\345\271\266K\344\270\252\346\216\222\345\272\217\351\223\276\350\241\250.cpp" "b/0023.\345\220\210\345\271\266K\344\270\252\346\216\222\345\272\217\351\223\276\350\241\250/0023-\345\220\210\345\271\266K\344\270\252\346\216\222\345\272\217\351\223\276\350\241\250.cpp"
new file mode 100644
index 0000000..9a1ee47
--- /dev/null
+++ "b/0023.\345\220\210\345\271\266K\344\270\252\346\216\222\345\272\217\351\223\276\350\241\250/0023-\345\220\210\345\271\266K\344\270\252\346\216\222\345\272\217\351\223\276\350\241\250.cpp"
@@ -0,0 +1,35 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+bool cmp(const ListNode* a, const ListNode* b){
+    return a->val < b->val;
+}
+class Solution {
+public:
+    ListNode* mergeKLists(vector<ListNode*>& lists) {
+        std::vector<ListNode *> value;
+        for(int i = 0; i< lists.size(); ++i){
+            ListNode* head = lists[i];
+            while(head){
+                value.push_back(head);
+                head = head->next;
+            }
+        }
+        
+        std::sort(value.begin(),value.end(), cmp);
+        if (value.size() == 0)
+            return NULL;
+        
+        for(int i = 1; i<value.size(); ++i){
+            value[i-1]->next = value[i];
+        }
+        value[value.size()-1]->next = NULL;
+        return value[0];
+        
+    }
+};
\ No newline at end of file
diff --git "a/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271/0024-\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.cpp" "b/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271/0024-\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.cpp"
new file mode 100644
index 0000000..7fb8035
--- /dev/null
+++ "b/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271/0024-\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.cpp"
@@ -0,0 +1,31 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode* swapPairs(ListNode* head) {
+        if (!head || !head->next)
+            return head;
+        ListNode n_head(0);
+        ListNode* pre = &n_head;
+        n_head.next = head;
+        ListNode* ptr = head;
+        while(ptr && ptr->next){
+            pre->next = ptr->next;
+            // if (!ptr->next)
+            ptr->next = ptr->next->next;
+            // else
+                // ptr->next = NULL;
+            pre->next->next = ptr;
+            pre = pre->next->next;
+            ptr = ptr->next;
+        }
+        return n_head.next;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0028.\345\256\236\347\216\260strStr()/0028-\345\256\236\347\216\260strStr().cpp" "b/0028.\345\256\236\347\216\260strStr()/0028-\345\256\236\347\216\260strStr().cpp"
new file mode 100644
index 0000000..748d263
--- /dev/null
+++ "b/0028.\345\256\236\347\216\260strStr()/0028-\345\256\236\347\216\260strStr().cpp"
@@ -0,0 +1,23 @@
+class Solution {
+public:
+    int strStr(string haystack, string needle) {
+        if (needle.size() == 0){
+            return 0;
+        }
+        int lh = haystack.size();
+        int ln = needle.size();
+        bool flag = 0;
+        for (int i = 0; i <=lh - ln ; ++i){
+            flag = 1;
+            for (int j = i; j < i + ln; ++ j){
+                if (haystack[j] != needle[j-i]){
+                    flag = 0;
+                    break;
+                }
+            }
+            if (flag) return i;
+        }
+        if (!flag) return -1;
+    }
+    
+};
\ No newline at end of file
diff --git "a/0038.\346\212\245\346\225\260/0038-\346\212\245\346\225\260.cpp" "b/0038.\346\212\245\346\225\260/0038-\346\212\245\346\225\260.cpp"
new file mode 100644
index 0000000..78bf39a
--- /dev/null
+++ "b/0038.\346\212\245\346\225\260/0038-\346\212\245\346\225\260.cpp"
@@ -0,0 +1,29 @@
+class Solution {
+public:
+    string countAndSay(int n) {
+        if (n == 1) return "1";
+        if (n == 2) return "11";
+        int i = 2, j = 0;
+        string temp = "";
+        string res = "11";
+        
+        for (i; i <n; ++ i ){ // No. i
+            j = 0;
+            temp = "";
+            for (j; j < res.size(); ){
+                int k = 0;
+                while(j + k < res.size() && res[j] == res[j+k])
+                    k += 1;
+                temp += to_string(k) + res[j];
+                // cout << res[j]<<endl;
+                // cout << to_string(res[j] - '0')<<endl;
+                // cout <<temp<<endl;
+                j+= k;
+            }
+            res = temp;
+            // cout <<res<<endl;
+        } 
+        return res;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0048.\346\227\213\350\275\254\345\233\276\345\203\217/0048-\346\227\213\350\275\254\345\233\276\345\203\217.cpp" "b/0048.\346\227\213\350\275\254\345\233\276\345\203\217/0048-\346\227\213\350\275\254\345\233\276\345\203\217.cpp"
new file mode 100644
index 0000000..34855ad
--- /dev/null
+++ "b/0048.\346\227\213\350\275\254\345\233\276\345\203\217/0048-\346\227\213\350\275\254\345\233\276\345\203\217.cpp"
@@ -0,0 +1,12 @@
+class Solution {
+public:
+    void rotate(vector<vector<int>>& matrix) {
+        int l = matrix[0].size();
+        for (int i = 0 ; i < matrix.size(); ++i){
+            for (int j = i + 1; j < l; ++j)
+                swap(matrix[i][j], matrix[j][i]);
+            reverse(matrix[i].begin(), matrix[i].end());
+        }
+        
+    }
+};
\ No newline at end of file
diff --git "a/0055.\350\267\263\350\267\203\346\270\270\346\210\217/0055-\350\267\263\350\267\203\346\270\270\346\210\217.py" "b/0055.\350\267\263\350\267\203\346\270\270\346\210\217/0055-\350\267\263\350\267\203\346\270\270\346\210\217.py"
new file mode 100644
index 0000000..8198fc2
--- /dev/null
+++ "b/0055.\350\267\263\350\267\203\346\270\270\346\210\217/0055-\350\267\263\350\267\203\346\270\270\346\210\217.py"
@@ -0,0 +1,13 @@
+class Solution(object):
+    def canJump(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: bool
+        """
+
+        max_jump = 0
+        for index, num in enumerate(nums):
+            if index > max_jump:
+                return False
+            max_jump = max(max_jump, index + num)
+        return True
\ No newline at end of file
diff --git "a/0058.\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/0058-\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246.py" "b/0058.\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/0058-\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246.py"
new file mode 100644
index 0000000..7e36392
--- /dev/null
+++ "b/0058.\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/0058-\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246.py"
@@ -0,0 +1,12 @@
+class Solution(object):
+    def lengthOfLastWord(self, s):
+        """
+        :type s: str
+        :rtype: int
+        """
+        if len(s) <= 0 :
+            return 0
+        s = s.rstrip(" ")
+        print s,s.split(" ")
+        return len(s.split(" ")[-1])
+        
\ No newline at end of file
diff --git "a/0061.\346\227\213\350\275\254\351\223\276\350\241\250/0061-\346\227\213\350\275\254\351\223\276\350\241\250.py" "b/0061.\346\227\213\350\275\254\351\223\276\350\241\250/0061-\346\227\213\350\275\254\351\223\276\350\241\250.py"
new file mode 100644
index 0000000..0ebda46
--- /dev/null
+++ "b/0061.\346\227\213\350\275\254\351\223\276\350\241\250/0061-\346\227\213\350\275\254\351\223\276\350\241\250.py"
@@ -0,0 +1,40 @@
+# Definition for singly-linked list.
+# class ListNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.next = None
+
+class Solution(object):
+    def rotateRight(self, head, k):
+        """
+        :type head: ListNode
+        :type k: int
+        :rtype: ListNode
+        """
+        if k <= 0:
+            return head
+        l = 0
+        ptr = head
+        while(ptr != None):
+            ptr = ptr.next
+            l += 1
+        # print l
+        if l <= 1:
+            return head
+        k = k % l
+        if k == 0:
+            return head
+        
+        fast = head
+        slow = head
+        while(k != 0):
+            fast  = fast.next
+            k-= 1
+        while(fast.next != None):
+            fast = fast.next
+            slow = slow.next
+        # print fast.val, slow.val
+        ptr = slow.next
+        fast.next = head
+        slow.next = None
+        return ptr
\ No newline at end of file
diff --git "a/0066.\345\212\240\344\270\200/0066-\345\212\240\344\270\200.py" "b/0066.\345\212\240\344\270\200/0066-\345\212\240\344\270\200.py"
new file mode 100644
index 0000000..0e3ec96
--- /dev/null
+++ "b/0066.\345\212\240\344\270\200/0066-\345\212\240\344\270\200.py"
@@ -0,0 +1,24 @@
+class Solution(object):
+    def plusOne(self, digits):
+        """
+        :type digits: List[int]
+        :rtype: List[int]
+        """
+        index = 0
+        if digits[-1] != 9:
+            digits[-1] += 1
+            return digits
+        else:
+            for index in range(len(digits)-1, -1,-1):
+                if digits[index] != 9:
+                    break
+            if digits[index] != 9:
+                digits[index] += 1
+                for i in range(index+ 1, len(digits)):
+                    digits[i] = 0
+                return digits
+            else:
+                res = [1]
+                for i in range(0,len(digits)):
+                    res.append(0)
+                return res
\ No newline at end of file
diff --git "a/0070.\347\210\254\346\245\274\346\242\257/0070-\347\210\254\346\245\274\346\242\257.py" "b/0070.\347\210\254\346\245\274\346\242\257/0070-\347\210\254\346\245\274\346\242\257.py"
new file mode 100644
index 0000000..46b3b2e
--- /dev/null
+++ "b/0070.\347\210\254\346\245\274\346\242\257/0070-\347\210\254\346\245\274\346\242\257.py"
@@ -0,0 +1,22 @@
+class Solution(object):
+
+    def climbStairs(self, n):
+        """
+        :type n: int
+        :rtype: int
+        """
+        if n <= 1:
+            return 1
+        if n == 2:
+            return 2
+        a = 1
+        b = 2
+        count = 3
+        while count<=n:
+          c = a + b
+          a = b
+          b = c
+          count += 1
+        return c
+          
+    
diff --git "a/0073.\347\237\251\351\230\265\347\275\256\351\233\266/0073-\347\237\251\351\230\265\347\275\256\351\233\266.py" "b/0073.\347\237\251\351\230\265\347\275\256\351\233\266/0073-\347\237\251\351\230\265\347\275\256\351\233\266.py"
new file mode 100644
index 0000000..fd3f47b
--- /dev/null
+++ "b/0073.\347\237\251\351\230\265\347\275\256\351\233\266/0073-\347\237\251\351\230\265\347\275\256\351\233\266.py"
@@ -0,0 +1,24 @@
+class Solution(object):
+    def setZeroes(self, matrix):
+        """
+        :type matrix: List[List[int]]
+        :rtype: void Do not return anything, modify matrix in-place instead.
+        """
+        self.matrix = matrix
+        m = len(matrix)
+        n = len(matrix[0])
+        l_m = [1] * m
+        l_n = [1] * n
+        for i in range(m):
+            for j in range(n):
+                # print matrix[i][j], i, j
+                if matrix[i][j] == 0:
+                    l_m[i] = 0
+                    l_n[j] = 0
+        # print l_m, l_n
+        for i in range(m):
+            for j in range(n):
+                # print i,j
+                if l_m[i] == 0 or l_n[j] == 0:
+                        matrix[i][j] = 0
+                # print matrix
diff --git "a/0075.\351\242\234\350\211\262\345\210\206\347\261\273/0075-\351\242\234\350\211\262\345\210\206\347\261\273.py" "b/0075.\351\242\234\350\211\262\345\210\206\347\261\273/0075-\351\242\234\350\211\262\345\210\206\347\261\273.py"
new file mode 100644
index 0000000..f91676d
--- /dev/null
+++ "b/0075.\351\242\234\350\211\262\345\210\206\347\261\273/0075-\351\242\234\350\211\262\345\210\206\347\261\273.py"
@@ -0,0 +1,32 @@
+class Solution(object):
+    def sortColors(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: void Do not return anything, modify nums in-place instead.
+        """
+        b = 0
+        r = 0
+        w = 0
+        for item in nums:
+            if item == 0:
+                r+= 1
+            if item == 1:
+                w += 1
+            if item == 2:
+                b += 1
+        for index,item in enumerate(nums):
+            if r!= 0:
+                nums[index] = 0
+                r -= 1
+                continue
+            if w!= 0:
+                nums[index] = 1
+                w -= 1
+                continue
+            if b!= 0:
+                nums[index] = 2
+                b -= 1
+                continue
+        # return nums
+            
+        
\ No newline at end of file
diff --git "a/0082.\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240II/0082-\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240II.py" "b/0082.\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240II/0082-\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240II.py"
new file mode 100644
index 0000000..c5c52fa
--- /dev/null
+++ "b/0082.\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240II/0082-\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240II.py"
@@ -0,0 +1,26 @@
+# Definition for singly-linked list.
+# class ListNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.next = None
+
+class Solution(object):
+    def deleteDuplicates(self, head):
+        """
+        :type head: ListNode
+        :rtype: ListNode
+        """
+        new_head = ListNode(1)
+        new_head.next = head
+        pre = new_head
+        cur = head
+        while cur:
+            while cur.next != None and cur.val == cur.next.val:
+                cur = cur.next;
+            if cur == pre.next:
+                pre = pre.next
+            else:
+                pre.next = cur.next
+            cur = cur.next
+                
+        return new_head.next
\ No newline at end of file
diff --git "a/0083.\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240/0083-\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.cpp" "b/0083.\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240/0083-\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.cpp"
new file mode 100644
index 0000000..12947a1
--- /dev/null
+++ "b/0083.\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240/0083-\345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.cpp"
@@ -0,0 +1,31 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode* deleteDuplicates(ListNode* head) {
+        if (head == NULL || head->next == NULL)
+            return head;
+        ListNode* ptr = head->next;
+        ListNode* pre = head;
+        while(1){
+            // cout<<ptr->val<<" "<<pre->val<<endl;
+            while (pre->val == ptr->val){
+                // cout<<"1"<<endl;
+                ptr = ptr->next;  
+                if (!ptr) break;
+            }
+            pre->next = ptr;
+            pre = pre->next;
+            if (!ptr) break;
+
+        }
+        return head;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0088.\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204/0088-\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204.py" "b/0088.\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204/0088-\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204.py"
new file mode 100644
index 0000000..a3d895f
--- /dev/null
+++ "b/0088.\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204/0088-\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204.py"
@@ -0,0 +1,32 @@
+class Solution(object):
+    def merge(self, nums1, m, nums2, n):
+        """
+        :type nums1: List[int]
+        :type m: int
+        :type nums2: List[int]
+        :type n: int
+        :rtype: void Do not return anything, modify nums1 in-place instead.
+        """
+        temp = []
+        p1 = 0
+        p2 = 0
+        while(p1 < m and p2 < n):
+            if (nums1[p1] <= nums2[p2]):
+                temp.append(nums1[p1])
+                p1 += 1
+            else:
+                temp.append(nums2[p2])
+                p2 += 1
+        
+        while(p1 < m):
+            temp.append(nums1[p1])
+            p1 += 1
+        while(p2 < n):
+            temp.append(nums2[p2])
+            p2 += 1
+        
+        for i in range(0, m + n ):
+            nums1[i] = temp[i]
+        
+        # return nums1
+        
\ No newline at end of file
diff --git "a/0090.\345\255\220\351\233\206II/0090-\345\255\220\351\233\206II.py" "b/0090.\345\255\220\351\233\206II/0090-\345\255\220\351\233\206II.py"
new file mode 100644
index 0000000..2ffe5bb
--- /dev/null
+++ "b/0090.\345\255\220\351\233\206II/0090-\345\255\220\351\233\206II.py"
@@ -0,0 +1,16 @@
+class Solution(object):
+    def subsetsWithDup(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: List[List[int]]
+        """
+        nums.sort()
+        result = [[]]
+        for num in nums:
+            for i in result[:]:
+                item = i[:]
+                item.append(num)
+                if item not in result:
+                    result.append(item[:])
+        return result
+    
diff --git "a/0094.\344\272\214\345\217\211\346\240\221\347\232\204\344\270\255\345\272\217\351\201\215\345\216\206/0094-\344\272\214\345\217\211\346\240\221\347\232\204\344\270\255\345\272\217\351\201\215\345\216\206.py" "b/0094.\344\272\214\345\217\211\346\240\221\347\232\204\344\270\255\345\272\217\351\201\215\345\216\206/0094-\344\272\214\345\217\211\346\240\221\347\232\204\344\270\255\345\272\217\351\201\215\345\216\206.py"
new file mode 100644
index 0000000..8759161
--- /dev/null
+++ "b/0094.\344\272\214\345\217\211\346\240\221\347\232\204\344\270\255\345\272\217\351\201\215\345\216\206/0094-\344\272\214\345\217\211\346\240\221\347\232\204\344\270\255\345\272\217\351\201\215\345\216\206.py"
@@ -0,0 +1,31 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def inorderTraversal(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[int]
+        """
+        result = list() 
+        self.generate(root, result)
+        return result
+
+
+    
+    def generate(self, root, result):
+        
+        if not root:
+            return 
+        
+        if root.left:
+            self.generate(root.left, result)
+            
+        result.append(root.val)
+
+        if root.right:
+            self.generate(root.right, result)
diff --git "a/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221/0096-\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.py" "b/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221/0096-\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.py"
new file mode 100644
index 0000000..7ba4079
--- /dev/null
+++ "b/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221/0096-\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.py"
@@ -0,0 +1,14 @@
+class Solution(object):
+    def numTrees(self, n):
+        """
+        :type n: int
+        :rtype: int
+        """
+        res = [0] * (n+1)
+        res[0] = 1
+        res[1] = 1
+        for i in range(2, n + 1):
+            for j in range(i):
+                res[i] += res[j] * res[i-j-1]
+            
+        return res[n]
\ No newline at end of file
diff --git "a/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221/0098-\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.py" "b/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221/0098-\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.py"
new file mode 100644
index 0000000..20a8927
--- /dev/null
+++ "b/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221/0098-\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.py"
@@ -0,0 +1,32 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def isValidBST(self, root):
+        """
+        :type root: TreeNode
+        :rtype: bool
+        """
+        inorder = list() 
+        self.inorderTra(root, inorder)
+        # print inorder
+        for i in range(len(inorder)-1):
+            if inorder[i] >= inorder[i+1]:
+                return False
+        return True
+    
+    def inorderTra(self, root, inorder):
+        if not root:
+            return None
+    
+        
+        self.inorderTra(root.left, inorder)
+        inorder.append(root.val)
+        self.inorderTra(root.right, inorder)
+        
+        return 
+        
\ No newline at end of file
diff --git "a/0100.\347\233\270\345\220\214\347\232\204\346\240\221/0100-\347\233\270\345\220\214\347\232\204\346\240\221.py" "b/0100.\347\233\270\345\220\214\347\232\204\346\240\221/0100-\347\233\270\345\220\214\347\232\204\346\240\221.py"
new file mode 100644
index 0000000..4abafa3
--- /dev/null
+++ "b/0100.\347\233\270\345\220\214\347\232\204\346\240\221/0100-\347\233\270\345\220\214\347\232\204\346\240\221.py"
@@ -0,0 +1,33 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def isSameTree(self, p, q):
+        """
+        :type p: TreeNode
+        :type q: TreeNode
+        :rtype: bool
+        """
+        if not p and not q:
+            return True
+        
+        self.result = True
+        self.check(p,q)
+        return self.result
+    
+    def check(self, p, q):
+        # if :
+        if (not p or not q)  or (p.val != q.val)  :
+            self.result = False
+            return 
+
+        if p.left or q.left:
+            self.check(p.left, q.left)
+        if p.right or q.right:
+            self.check(p.right, q.right)
+        
+        return
\ No newline at end of file
diff --git "a/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246/0104-\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.cpp" "b/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246/0104-\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.cpp"
new file mode 100644
index 0000000..97d1d0a
--- /dev/null
+++ "b/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246/0104-\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.cpp"
@@ -0,0 +1,17 @@
+/**
+ * Definition for a binary tree node.
+ * struct TreeNode {
+ *     int val;
+ *     TreeNode *left;
+ *     TreeNode *right;
+ *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    int maxDepth(TreeNode* root) {
+        if (!root) return 0;
+        return 1 + max(maxDepth(root->left),maxDepth(root->right));
+        
+    }
+};
\ No newline at end of file
diff --git "a/0105.\344\273\216\345\211\215\345\272\217\344\270\216\344\270\255\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221/0105-\344\273\216\345\211\215\345\272\217\344\270\216\344\270\255\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.py" "b/0105.\344\273\216\345\211\215\345\272\217\344\270\216\344\270\255\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221/0105-\344\273\216\345\211\215\345\272\217\344\270\216\344\270\255\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.py"
new file mode 100644
index 0000000..f372ec4
--- /dev/null
+++ "b/0105.\344\273\216\345\211\215\345\272\217\344\270\216\344\270\255\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221/0105-\344\273\216\345\211\215\345\272\217\344\270\216\344\270\255\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.py"
@@ -0,0 +1,29 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def buildTree(self, preorder, inorder):
+        """
+        :type preorder: List[int]
+        :type inorder: List[int]
+        :rtype: TreeNode
+        """
+        if not preorder:
+            return None
+        
+        root = TreeNode(preorder[0])        
+        left_inorder = inorder[: inorder.index(root.val)]
+        right_inorder = inorder[inorder.index(root.val) + 1 :]
+        
+        l_left = len(left_inorder)
+        left_preorder = preorder[1:l_left + 1]
+        right_preorder = preorder[l_left + 1 :]
+        
+        root.left = self.buildTree(left_preorder, left_inorder)
+        root.right = self.buildTree(right_preorder, right_inorder)
+        
+        return root
\ No newline at end of file
diff --git "a/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221/0106-\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.py" "b/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221/0106-\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.py"
new file mode 100644
index 0000000..e638c0f
--- /dev/null
+++ "b/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221/0106-\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.py"
@@ -0,0 +1,33 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def buildTree(self, inorder, postorder):
+        """
+        :type inorder: List[int]
+        :type postorder: List[int]
+        :rtype: TreeNode
+        """
+        if not postorder:
+            return None
+        
+        root = TreeNode(postorder[-1])
+        
+        root_index = inorder.index(postorder[-1])
+        
+        left_inorder = inorder[:root_index]
+        right_inorder = inorder[root_index + 1:]
+        
+        l_left = len(left_inorder)
+        
+        left_postorder = postorder[:l_left]
+        right_postorder = postorder[l_left : -1]
+        
+        root.left = self.buildTree(left_inorder, left_postorder)
+        root.right = self.buildTree(right_inorder, right_postorder)
+        
+        return root
\ No newline at end of file
diff --git "a/0107.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\346\254\241\351\201\215\345\216\206II/0107-\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\346\254\241\351\201\215\345\216\206II.py" "b/0107.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\346\254\241\351\201\215\345\216\206II/0107-\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\346\254\241\351\201\215\345\216\206II.py"
new file mode 100644
index 0000000..dac2a0e
--- /dev/null
+++ "b/0107.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\346\254\241\351\201\215\345\216\206II/0107-\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\346\254\241\351\201\215\345\216\206II.py"
@@ -0,0 +1,40 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def levelOrderBottom(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[List[int]]
+        """
+        # Definition for a binary tree node.
+
+        if not root:
+            return []
+        node = [root]
+        node_val = list(list())
+        self.generate(node, node_val)
+        return node_val[::-1]
+    
+    def generate(self, node, node_val):
+        new_node = []
+        new_node_val = []
+        for node in node:
+            if node.left:
+                new_node.append(node.left)
+            if node.right:
+                new_node.append(node.right)
+            new_node_val.append(node.val)
+        node_val.append(new_node_val)
+        if len(new_node) == 0:
+            return
+        self.generate(new_node, node_val)
+        
+        
+        
+        
+    
\ No newline at end of file
diff --git "a/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246/0111-\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.py" "b/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246/0111-\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.py"
new file mode 100644
index 0000000..633069e
--- /dev/null
+++ "b/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246/0111-\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.py"
@@ -0,0 +1,26 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def minDepth(self, root):
+        """
+        :type root: TreeNode
+        :rtype: int
+        """
+        if root:
+            if root.left and root.right:
+                return 1 + min(self.minDepth(root.left), self.minDepth(root.right))
+            if root.left:
+                return 1 + self.minDepth(root.left)
+            if root.right:
+                return 1 + self.minDepth(root.right)
+            else:
+                return 1
+        else:
+            return 0
+        
+        
\ No newline at end of file
diff --git "a/0118.\346\235\250\350\276\211\344\270\211\350\247\222/0118-\346\235\250\350\276\211\344\270\211\350\247\222.cpp" "b/0118.\346\235\250\350\276\211\344\270\211\350\247\222/0118-\346\235\250\350\276\211\344\270\211\350\247\222.cpp"
new file mode 100644
index 0000000..ed0ee92
--- /dev/null
+++ "b/0118.\346\235\250\350\276\211\344\270\211\350\247\222/0118-\346\235\250\350\276\211\344\270\211\350\247\222.cpp"
@@ -0,0 +1,22 @@
+class Solution {
+public:
+    vector<vector<int>> generate(int numRows) {;
+        vector<vector<int>> res;
+        vector<int> temp;
+        if (numRows <= 0)
+            return res;
+        temp.push_back(1);
+        res.push_back(temp);
+        temp.clear();
+        for (int i = 1;i < numRows; ++i){
+            temp.clear();
+            temp.push_back(1);
+            for (int j = 1; j < i; ++j){
+                temp.push_back(res[i-1][j-1] + res[i-1][j]);
+            }
+            temp.push_back(1);
+            res.push_back(temp);
+        }        
+        return res;
+    }
+};
\ No newline at end of file
diff --git "a/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II/0122-\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.py" "b/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II/0122-\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.py"
new file mode 100644
index 0000000..e0eafaf
--- /dev/null
+++ "b/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II/0122-\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.py"
@@ -0,0 +1,12 @@
+class Solution(object):
+    def maxProfit(self, prices):
+        """
+        :type prices: List[int]
+        :rtype: int
+        """
+        sum = 0
+        for i in range(1,len(prices)):
+            if prices[i] > prices[i-1]:
+                profit = prices[i] - prices[i-1]
+                sum += profit
+        return sum
\ No newline at end of file
diff --git "a/0125.\351\252\214\350\257\201\345\233\236\346\226\207\344\270\262/0125-\351\252\214\350\257\201\345\233\236\346\226\207\344\270\262.py" "b/0125.\351\252\214\350\257\201\345\233\236\346\226\207\344\270\262/0125-\351\252\214\350\257\201\345\233\236\346\226\207\344\270\262.py"
new file mode 100644
index 0000000..d9f3a41
--- /dev/null
+++ "b/0125.\351\252\214\350\257\201\345\233\236\346\226\207\344\270\262/0125-\351\252\214\350\257\201\345\233\236\346\226\207\344\270\262.py"
@@ -0,0 +1,23 @@
+class Solution(object):
+    def isPalindrome(self, s):
+        """
+        :type s: str
+        :rtype: bool
+        """
+        s = s.lower()
+        ss = ""
+        for i in s:
+            if i.isalpha() != True and i.isdigit() != True:
+                print i
+                continue
+            ss += i
+        # print ss
+        if len(ss) <= 1:
+            return True
+        for i in range(0,len(ss)):
+            # print ss[i]
+            if ss[i] != ss[-i-1]:
+                return False
+        return True
+                
+        
\ No newline at end of file
diff --git "a/0136.\345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227/0136-\345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227.py" "b/0136.\345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227/0136-\345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227.py"
new file mode 100644
index 0000000..4e142b2
--- /dev/null
+++ "b/0136.\345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227/0136-\345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227.py"
@@ -0,0 +1,13 @@
+class Solution(object):
+    def singleNumber(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: int
+        """
+        r = 0
+        for i in nums:
+            r ^= i
+        return r
+           
+        
+       
\ No newline at end of file
diff --git "a/0138.\345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250/0138-\345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250.cpp" "b/0138.\345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250/0138-\345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250.cpp"
new file mode 100644
index 0000000..d4fd4f8
--- /dev/null
+++ "b/0138.\345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250/0138-\345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250.cpp"
@@ -0,0 +1,35 @@
+/**
+ * Definition for singly-linked list with a random pointer.
+ * struct RandomListNode {
+ *     int label;
+ *     RandomListNode *next, *random;
+ *     RandomListNode(int x) : label(x), next(NULL), random(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    RandomListNode *copyRandomList(RandomListNode *head) {
+        std::map<RandomListNode*, int> Node_map;
+        std::vector<RandomListNode *> Node_vector;
+        RandomListNode* ptr = head;
+        int i = 0;
+        while(ptr){
+            Node_vector.push_back(new RandomListNode (ptr->label));
+            Node_map[ptr] = i;
+            i ++;
+            ptr = ptr->next;
+        }
+        Node_vector.push_back(0);
+        ptr = head;
+        i = 0;
+        while(ptr){
+            Node_vector[i]->next = Node_vector[i+1];
+            if(ptr->random){
+                Node_vector[i]->random = Node_vector[Node_map[ptr->random]];
+            }
+            i++;
+            ptr = ptr->next;
+        }
+        return Node_vector[0];
+    }
+};
\ No newline at end of file
diff --git "a/0141.\347\216\257\345\275\242\351\223\276\350\241\250/0141-\347\216\257\345\275\242\351\223\276\350\241\250.cpp" "b/0141.\347\216\257\345\275\242\351\223\276\350\241\250/0141-\347\216\257\345\275\242\351\223\276\350\241\250.cpp"
new file mode 100644
index 0000000..7c0674a
--- /dev/null
+++ "b/0141.\347\216\257\345\275\242\351\223\276\350\241\250/0141-\347\216\257\345\275\242\351\223\276\350\241\250.cpp"
@@ -0,0 +1,22 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    bool hasCycle(ListNode *head) {
+        std::set<ListNode *> node_set;
+        while(head){
+            if (node_set.find(head) != node_set.end())
+                return true;
+            node_set.insert(head);
+            head = head->next;
+        }
+        return false;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0142.\347\216\257\345\275\242\351\223\276\350\241\250II/0142-\347\216\257\345\275\242\351\223\276\350\241\250II.cpp" "b/0142.\347\216\257\345\275\242\351\223\276\350\241\250II/0142-\347\216\257\345\275\242\351\223\276\350\241\250II.cpp"
new file mode 100644
index 0000000..782d4f8
--- /dev/null
+++ "b/0142.\347\216\257\345\275\242\351\223\276\350\241\250II/0142-\347\216\257\345\275\242\351\223\276\350\241\250II.cpp"
@@ -0,0 +1,21 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode *detectCycle(ListNode *head) {
+        std::set<ListNode *> node_set;
+        while(head){
+            if (node_set.find(head) != node_set.end())
+                return head;
+            node_set.insert(head);
+            head = head->next;
+        }
+        return NULL;
+    }
+};
\ No newline at end of file
diff --git "a/0144.\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206/0144-\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206.py" "b/0144.\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206/0144-\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206.py"
new file mode 100644
index 0000000..3075ff1
--- /dev/null
+++ "b/0144.\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206/0144-\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206.py"
@@ -0,0 +1,18 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def preorderTraversal(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[int]
+        """
+        if not root:
+            return []
+        result = [root.val] + self.preorderTraversal(root.left)
+        result += self.preorderTraversal(root.right)
+        return result 
\ No newline at end of file
diff --git "a/0145.\344\272\214\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206/0145-\344\272\214\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206.py" "b/0145.\344\272\214\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206/0145-\344\272\214\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206.py"
new file mode 100644
index 0000000..d224375
--- /dev/null
+++ "b/0145.\344\272\214\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206/0145-\344\272\214\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206.py"
@@ -0,0 +1,18 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def postorderTraversal(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[int]
+        """
+        if not root:
+            return []
+        result = self.postorderTraversal(root.left)
+        result += self.postorderTraversal(root.right)
+        return result + [root.val]
\ No newline at end of file
diff --git "a/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274/0150-\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.py" "b/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274/0150-\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.py"
new file mode 100644
index 0000000..9a6acbe
--- /dev/null
+++ "b/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274/0150-\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.py"
@@ -0,0 +1,26 @@
+class Solution(object):
+    def evalRPN(self, tokens):
+        """
+        :type tokens: List[str]
+        :rtype: int
+        """
+        stack = []
+        for item in tokens:
+            if item in ["+", "-", "*", "/"]:
+                if item == "+":
+                    temp = int(stack[-2]) + int(stack[-1])
+                elif item == "-":
+                    temp = int(stack[-2]) - int(stack[-1])
+                    # print temp                
+                elif item == "*":
+                    temp = int(stack[-2]) * int(stack[-1])             
+                elif item == "/":
+                    temp = int(float(stack[-2])/ float(stack[-1]))                    
+                stack.pop()
+                stack.pop()
+                stack.append(temp)
+                
+            else:
+                stack.append(item)
+                
+        return int(stack[0])
\ No newline at end of file
diff --git "a/0153.\345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274/0153-\345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274.py" "b/0153.\345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274/0153-\345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274.py"
new file mode 100644
index 0000000..ece52c0
--- /dev/null
+++ "b/0153.\345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274/0153-\345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274.py"
@@ -0,0 +1,18 @@
+class Solution(object):
+    def findMin(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: int
+        """
+        # m = len(nums) / 2
+        b = 0
+        e = len(nums)-1
+        while(b < e):
+            m = b + (e-b) / 2
+            if nums[m] < nums[e]: 
+                e = m
+            else:
+                b = m+1
+        return nums[b]
+                
+            
\ No newline at end of file
diff --git "a/0155.\346\234\200\345\260\217\346\240\210/0155-\346\234\200\345\260\217\346\240\210.py" "b/0155.\346\234\200\345\260\217\346\240\210/0155-\346\234\200\345\260\217\346\240\210.py"
new file mode 100644
index 0000000..616a4e3
--- /dev/null
+++ "b/0155.\346\234\200\345\260\217\346\240\210/0155-\346\234\200\345\260\217\346\240\210.py"
@@ -0,0 +1,49 @@
+class MinStack(object):
+
+    def __init__(self):
+        """
+        initialize your data structure here.
+        """
+        self.stack = []
+        self.min_stack = []
+        
+
+    def push(self, x):
+        """
+        :type x: int
+        :rtype: void
+        """
+        self.stack.append(x)
+        if self.min_stack and self.min_stack[-1] <= x:
+            self.min_stack.append(self.min_stack[-1])
+        else:
+            self.min_stack.append(x)
+        
+
+    def pop(self):
+        """
+        :rtype: void
+        """
+        self.stack = self.stack[:-1]
+        self.min_stack = self.min_stack[:-1]
+        
+
+    def top(self):
+        """
+        :rtype: int
+        """
+        return self.stack[-1]
+
+    def getMin(self):
+        """
+        :rtype: int
+        """
+        return self.min_stack[-1]
+
+
+# Your MinStack object will be instantiated and called as such:
+# obj = MinStack()
+# obj.push(x)
+# obj.pop()
+# param_3 = obj.top()
+# param_4 = obj.getMin()
\ No newline at end of file
diff --git "a/0167.\344\270\244\346\225\260\344\271\213\345\222\214II-\350\276\223\345\205\245\346\234\211\345\272\217\346\225\260\347\273\204/0167-\344\270\244\346\225\260\344\271\213\345\222\214II-\350\276\223\345\205\245\346\234\211\345\272\217\346\225\260\347\273\204.py" "b/0167.\344\270\244\346\225\260\344\271\213\345\222\214II-\350\276\223\345\205\245\346\234\211\345\272\217\346\225\260\347\273\204/0167-\344\270\244\346\225\260\344\271\213\345\222\214II-\350\276\223\345\205\245\346\234\211\345\272\217\346\225\260\347\273\204.py"
new file mode 100644
index 0000000..3b1db81
--- /dev/null
+++ "b/0167.\344\270\244\346\225\260\344\271\213\345\222\214II-\350\276\223\345\205\245\346\234\211\345\272\217\346\225\260\347\273\204/0167-\344\270\244\346\225\260\344\271\213\345\222\214II-\350\276\223\345\205\245\346\234\211\345\272\217\346\225\260\347\273\204.py"
@@ -0,0 +1,15 @@
+class Solution(object):
+    def twoSum(self, numbers, target):
+        """
+        :type numbers: List[int]
+        :type target: int
+        :rtype: List[int]
+        """
+        left, right = 0, len(numbers) - 1
+        while(left < right):
+            if numbers[left] + numbers[right] == target:
+                return [left + 1, right + 1]
+            if numbers[left] + numbers[right] < target:
+                left += 1
+            elif numbers[left] + numbers[right] > target:
+                right -= 1
\ No newline at end of file
diff --git "a/0183.\344\273\216\344\270\215\350\256\242\350\264\255\347\232\204\345\256\242\346\210\267/0183-\344\273\216\344\270\215\350\256\242\350\264\255\347\232\204\345\256\242\346\210\267.sql" "b/0183.\344\273\216\344\270\215\350\256\242\350\264\255\347\232\204\345\256\242\346\210\267/0183-\344\273\216\344\270\215\350\256\242\350\264\255\347\232\204\345\256\242\346\210\267.sql"
new file mode 100644
index 0000000..043d36d
--- /dev/null
+++ "b/0183.\344\273\216\344\270\215\350\256\242\350\264\255\347\232\204\345\256\242\346\210\267/0183-\344\273\216\344\270\215\350\256\242\350\264\255\347\232\204\345\256\242\346\210\267.sql"
@@ -0,0 +1,5 @@
+# Write your MySQL query statement below
+select Name as Customers
+from Customers
+where not Customers.Id in (select CustomerId
+                           from Orders)
\ No newline at end of file
diff --git "a/0189.\346\227\213\350\275\254\346\225\260\347\273\204/0189-\346\227\213\350\275\254\346\225\260\347\273\204.py" "b/0189.\346\227\213\350\275\254\346\225\260\347\273\204/0189-\346\227\213\350\275\254\346\225\260\347\273\204.py"
new file mode 100644
index 0000000..0f9436d
--- /dev/null
+++ "b/0189.\346\227\213\350\275\254\346\225\260\347\273\204/0189-\346\227\213\350\275\254\346\225\260\347\273\204.py"
@@ -0,0 +1,10 @@
+class Solution(object):
+    def rotate(self, nums, k):
+        """
+        :type nums: List[int]
+        :type k: int
+        :rtype: void Do not return anything, modify nums in-place instead.
+        """
+        l = len(nums)
+        k = k % l
+        nums[:]  = nums[l-k:] + nums[:l-k]
diff --git "a/0191.\344\275\2151\347\232\204\344\270\252\346\225\260/0191-\344\275\2151\347\232\204\344\270\252\346\225\260.py" "b/0191.\344\275\2151\347\232\204\344\270\252\346\225\260/0191-\344\275\2151\347\232\204\344\270\252\346\225\260.py"
new file mode 100644
index 0000000..944a2e5
--- /dev/null
+++ "b/0191.\344\275\2151\347\232\204\344\270\252\346\225\260/0191-\344\275\2151\347\232\204\344\270\252\346\225\260.py"
@@ -0,0 +1,12 @@
+class Solution(object):
+    def hammingWeight(self, n):
+        """
+        :type n: int
+        :rtype: int
+        """
+        sum = 0
+        while(n > 0):
+            if (n & 1):
+              sum += 1
+            n >>= 1
+        return sum
\ No newline at end of file
diff --git "a/0199.\344\272\214\345\217\211\346\240\221\347\232\204\345\217\263\350\247\206\345\233\276/0199-\344\272\214\345\217\211\346\240\221\347\232\204\345\217\263\350\247\206\345\233\276.py" "b/0199.\344\272\214\345\217\211\346\240\221\347\232\204\345\217\263\350\247\206\345\233\276/0199-\344\272\214\345\217\211\346\240\221\347\232\204\345\217\263\350\247\206\345\233\276.py"
new file mode 100644
index 0000000..2e25954
--- /dev/null
+++ "b/0199.\344\272\214\345\217\211\346\240\221\347\232\204\345\217\263\350\247\206\345\233\276/0199-\344\272\214\345\217\211\346\240\221\347\232\204\345\217\263\350\247\206\345\233\276.py"
@@ -0,0 +1,36 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def rightSideView(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[int]
+        """
+        if not root:
+            return []
+        next_layer = [root]
+        result = [root.val]
+        while(next_layer):
+            temp_next_layer = []
+            for node in next_layer:
+                if not node:
+                    continue
+                if node.left:
+                    temp_next_layer.append(node.left)
+                if node.right:
+                    temp_next_layer.append(node.right)
+            # print temp_next_layer[0].val
+            if temp_next_layer:
+                next_layer = temp_next_layer
+                result.append(temp_next_layer[-1].val)
+                # print result
+            else:
+                break
+            
+        return result
+                
\ No newline at end of file
diff --git "a/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240/0203-\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.py" "b/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240/0203-\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.py"
new file mode 100644
index 0000000..b1d673f
--- /dev/null
+++ "b/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240/0203-\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.py"
@@ -0,0 +1,27 @@
+# Definition for singly-linked list.
+# class ListNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.next = None
+
+class Solution(object):
+    def removeElements(self, head, val):
+        """
+        :type head: ListNode
+        :type val: int
+        :rtype: ListNode
+        """
+        dummy = ListNode(0)
+        dummy.next = head
+        pre = dummy
+        ptr = head
+        while(ptr != None):
+            if ptr.val != val:
+                pre = pre.next
+                ptr = ptr.next
+            else:
+                # print pre.val, ptr.val
+                pre.next = ptr.next
+                ptr = pre.next
+        return dummy.next
+        
\ No newline at end of file
diff --git "a/0204.\350\256\241\346\225\260\350\264\250\346\225\260/0204-\350\256\241\346\225\260\350\264\250\346\225\260.py" "b/0204.\350\256\241\346\225\260\350\264\250\346\225\260/0204-\350\256\241\346\225\260\350\264\250\346\225\260.py"
new file mode 100644
index 0000000..afa9f29
--- /dev/null
+++ "b/0204.\350\256\241\346\225\260\350\264\250\346\225\260/0204-\350\256\241\346\225\260\350\264\250\346\225\260.py"
@@ -0,0 +1,19 @@
+class Solution(object):
+    def countPrimes(self, n):
+        """
+        :type n: int
+        :rtype: int
+        """
+        # print int(n**0.5 +1)
+        if n <= 2:
+            return 0
+        temp =[1 for i in range(1,n+1)]
+        temp[0], temp[1]  = 0,0
+        for i in range(2, int(n**0.5 +1)):
+            if temp[i] == 1:
+                for j in range(i*i, n, i):
+                    temp[j] = 0
+            # print temp
+        return sum(temp)
+            
+        
\ No newline at end of file
diff --git "a/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210/0225-\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.cpp" "b/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210/0225-\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.cpp"
new file mode 100644
index 0000000..71e1551
--- /dev/null
+++ "b/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210/0225-\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.cpp"
@@ -0,0 +1,53 @@
+class MyStack {
+public:
+    /** Initialize your data structure here. */
+    MyStack() {
+        
+    }
+    
+    /** Push element x onto stack. */
+    void push(int x) {
+        std::queue<int> temp_queue;
+        temp_queue.push(x);
+        while(!_data.empty()){
+            temp_queue.push(_data.front());
+            _data.pop();
+        }
+        while(!temp_queue.empty()){
+            _data.push(temp_queue.front());
+            temp_queue.pop();
+        }
+        
+    }
+    
+    /** Removes the element on top of the stack and returns that element. */
+    int pop() {
+        int x = _data.front();
+        _data.pop();
+        return x;
+        
+    }
+    
+    /** Get the top element. */
+    int top() {
+        return _data.front();
+        
+    }
+    
+    /** Returns whether the stack is empty. */
+    bool empty() {
+        return _data.empty();
+        
+    }
+private:
+    std::queue<int> _data;
+};
+
+/**
+ * Your MyStack object will be instantiated and called as such:
+ * MyStack obj = new MyStack();
+ * obj.push(x);
+ * int param_2 = obj.pop();
+ * int param_3 = obj.top();
+ * bool param_4 = obj.empty();
+ */
\ No newline at end of file
diff --git "a/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221/0226-\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.py" "b/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221/0226-\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.py"
new file mode 100644
index 0000000..87cd5e9
--- /dev/null
+++ "b/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221/0226-\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.py"
@@ -0,0 +1,22 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def invertTree(self, root):
+        """
+        :type root: TreeNode
+        :rtype: TreeNode
+        """
+        if not root:
+            return root
+        left = root.left
+        right = root.right
+        root.right = self.invertTree(left)
+        root.left = self.invertTree(right)
+        return root
+
+    
\ No newline at end of file
diff --git "a/0230.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\254\254K\345\260\217\347\232\204\345\205\203\347\264\240/0230-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\254\254K\345\260\217\347\232\204\345\205\203\347\264\240.py" "b/0230.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\254\254K\345\260\217\347\232\204\345\205\203\347\264\240/0230-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\254\254K\345\260\217\347\232\204\345\205\203\347\264\240.py"
new file mode 100644
index 0000000..f2792f5
--- /dev/null
+++ "b/0230.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\254\254K\345\260\217\347\232\204\345\205\203\347\264\240/0230-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\254\254K\345\260\217\347\232\204\345\205\203\347\264\240.py"
@@ -0,0 +1,26 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def kthSmallest(self, root, k):
+        """
+        :type root: TreeNode
+        :type k: int
+        :rtype: int
+        """
+        inorder = list()
+        self.inorderTra(root, inorder)
+        print inorder
+        
+        return inorder[k-1]
+    
+    def inorderTra(self, node, path):
+        if not node:
+            return 
+        self.inorderTra(node.left, path)
+        path.append(node.val)
+        self.inorderTra(node.right, path)
\ No newline at end of file
diff --git "a/0231.2\347\232\204\345\271\202/0231-2\347\232\204\345\271\202.py" "b/0231.2\347\232\204\345\271\202/0231-2\347\232\204\345\271\202.py"
new file mode 100644
index 0000000..e65c0a6
--- /dev/null
+++ "b/0231.2\347\232\204\345\271\202/0231-2\347\232\204\345\271\202.py"
@@ -0,0 +1,11 @@
+class Solution(object):
+    def isPowerOfTwo(self, n):
+        """
+        :type n: int
+        :rtype: bool
+        """
+        i = 1
+        while(i<n):
+            i*=2
+        return i == n
+        
\ No newline at end of file
diff --git "a/0234.\345\233\236\346\226\207\351\223\276\350\241\250/0234-\345\233\236\346\226\207\351\223\276\350\241\250.py" "b/0234.\345\233\236\346\226\207\351\223\276\350\241\250/0234-\345\233\236\346\226\207\351\223\276\350\241\250.py"
new file mode 100644
index 0000000..981e82f
--- /dev/null
+++ "b/0234.\345\233\236\346\226\207\351\223\276\350\241\250/0234-\345\233\236\346\226\207\351\223\276\350\241\250.py"
@@ -0,0 +1,18 @@
+# Definition for singly-linked list.
+# class ListNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.next = None
+
+class Solution(object):
+    def isPalindrome(self, head):
+        """
+        :type head: ListNode
+        :rtype: bool
+        """
+        stack = []
+        while(head):
+            stack.append(head.val)
+            head = head.next
+        return stack == stack[::-1]
+        
\ No newline at end of file
diff --git "a/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210/0235-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.py" "b/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210/0235-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.py"
new file mode 100644
index 0000000..1395402
--- /dev/null
+++ "b/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210/0235-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.py"
@@ -0,0 +1,46 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def lowestCommonAncestor(self, root, p, q):
+        """
+        :type root: TreeNode
+        :type p: TreeNode
+        :type q: TreeNode
+        :rtype: TreeNode
+        """
+        
+        p_path = list()
+        q_path = list()
+        self.findPath(root, p, p_path)
+        self.findPath(root, q, q_path)
+        # for node in range(len(p_path)):
+        #     print p_path[node].val
+        # for node in range(len(q_path)):
+        #     print q_path[node].val
+        l = min(len(p_path), len(q_path))
+        
+        for node in range(l):
+            if p_path[node].val != q_path[node].val:
+                break
+                
+        if p_path[node].val == q_path[node].val:    
+            return p_path[node]
+        else:
+            return p_path[node - 1]
+    def findPath(self, root, node, path):
+        if not root:
+            return None
+        path.append(root)
+        if root.val == node.val:
+            return 
+        if root.val > node.val:
+            self.findPath(root.left, node, path)
+        if root.val < node.val:
+            self.findPath(root.right, node, path)
+        
+        return
\ No newline at end of file
diff --git "a/0237.\345\210\240\351\231\244\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271/0237-\345\210\240\351\231\244\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.py" "b/0237.\345\210\240\351\231\244\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271/0237-\345\210\240\351\231\244\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.py"
new file mode 100644
index 0000000..794c88a
--- /dev/null
+++ "b/0237.\345\210\240\351\231\244\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271/0237-\345\210\240\351\231\244\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.py"
@@ -0,0 +1,14 @@
+# Definition for singly-linked list.
+# class ListNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.next = None
+
+class Solution(object):
+    def deleteNode(self, node):
+        """
+        :type node: ListNode
+        :rtype: void Do not return anything, modify node in-place instead.
+        """
+        node.val = node.next.val
+        node.next = node.next.next
\ No newline at end of file
diff --git "a/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204/0257-\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.py" "b/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204/0257-\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.py"
new file mode 100644
index 0000000..d8e793c
--- /dev/null
+++ "b/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204/0257-\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.py"
@@ -0,0 +1,41 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def binaryTreePaths(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[str]
+        """
+        if not root:
+            return list()
+        
+        res = list()
+        temp_res = str(root.val)
+        
+        if not root.left and not root.right:
+            return [temp_res]
+        
+        self.generate(root.left, str(root.val), res)
+        self.generate(root.right, str(root.val), res)
+        
+        return res
+    
+    def generate(self, node, temp_res, res):
+        if not node:
+            return
+        temp_res += "->" + str(node.val)
+        
+        if not node.left and not node.right:
+            res.append(temp_res)
+            return
+        else:           
+            self.generate(node.left, temp_res, res)
+            self.generate(node.right, temp_res, res)
+            
+        return 
+        
\ No newline at end of file
diff --git "a/0258.\345\220\204\344\275\215\347\233\270\345\212\240/0258-\345\220\204\344\275\215\347\233\270\345\212\240.py" "b/0258.\345\220\204\344\275\215\347\233\270\345\212\240/0258-\345\220\204\344\275\215\347\233\270\345\212\240.py"
new file mode 100644
index 0000000..a594dbf
--- /dev/null
+++ "b/0258.\345\220\204\344\275\215\347\233\270\345\212\240/0258-\345\220\204\344\275\215\347\233\270\345\212\240.py"
@@ -0,0 +1,8 @@
+class Solution(object):
+    def addDigits(self, num):
+        """
+        :type num: int
+        :rtype: int
+        """
+        return 9 if num % 9 == 0 and num != 0 else num % 9
+        
\ No newline at end of file
diff --git "a/0268.\347\274\272\345\244\261\346\225\260\345\255\227/0268-\347\274\272\345\244\261\346\225\260\345\255\227.py" "b/0268.\347\274\272\345\244\261\346\225\260\345\255\227/0268-\347\274\272\345\244\261\346\225\260\345\255\227.py"
new file mode 100644
index 0000000..0f53d04
--- /dev/null
+++ "b/0268.\347\274\272\345\244\261\346\225\260\345\255\227/0268-\347\274\272\345\244\261\346\225\260\345\255\227.py"
@@ -0,0 +1,10 @@
+class Solution(object):
+    def missingNumber(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: int
+        """
+        l = len(nums)
+        idealsum = l*(l+1) /2
+        realsum = sum(nums)
+        return idealsum - realsum
\ No newline at end of file
diff --git "a/0278.\347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254/0278-\347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254.py" "b/0278.\347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254/0278-\347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254.py"
new file mode 100644
index 0000000..326cb90
--- /dev/null
+++ "b/0278.\347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254/0278-\347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254.py"
@@ -0,0 +1,22 @@
+
+# The isBadVersion API is already defined for you.
+# @param version, an integer
+# @return a bool
+# def isBadVersion(version):
+import math
+class Solution(object):
+    def firstBadVersion(self, n):
+        """
+        :type n: int
+        :rtype: int
+        """
+        start = 1
+        end = n
+        while(end-start>1):
+            mid = start + (end-start)/2
+            if isBadVersion(mid):
+                end = mid
+            else:
+                start = mid
+            print start, end
+        return start if isBadVersion(start) else end
\ No newline at end of file
diff --git "a/0283.\347\247\273\345\212\250\351\233\266/0283-\347\247\273\345\212\250\351\233\266.py" "b/0283.\347\247\273\345\212\250\351\233\266/0283-\347\247\273\345\212\250\351\233\266.py"
new file mode 100644
index 0000000..3dbbd55
--- /dev/null
+++ "b/0283.\347\247\273\345\212\250\351\233\266/0283-\347\247\273\345\212\250\351\233\266.py"
@@ -0,0 +1,16 @@
+class Solution(object):
+    def moveZeroes(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: void Do not return anything, modify nums in-place instead.
+        """
+        l = len(nums)
+        for index,item in enumerate(nums):
+            if item != 0:
+                continue
+            else:
+                for index0 in range(index+1,l):
+                    if nums[index0] != 0:
+                        print nums[index], nums[index0]
+                        nums[index], nums[index0] = nums[index0], nums[index]
+                        break
\ No newline at end of file
diff --git "a/0292.Nim\346\270\270\346\210\217/0292-Nim\346\270\270\346\210\217.py" "b/0292.Nim\346\270\270\346\210\217/0292-Nim\346\270\270\346\210\217.py"
new file mode 100644
index 0000000..ef4b15d
--- /dev/null
+++ "b/0292.Nim\346\270\270\346\210\217/0292-Nim\346\270\270\346\210\217.py"
@@ -0,0 +1,7 @@
+class Solution(object):
+    def canWinNim(self, n):
+        """
+        :type n: int
+        :rtype: bool
+        """
+        return n % 4 != 0
\ No newline at end of file
diff --git "a/0326.3\347\232\204\345\271\202/0326-3\347\232\204\345\271\202.py" "b/0326.3\347\232\204\345\271\202/0326-3\347\232\204\345\271\202.py"
new file mode 100644
index 0000000..aedc50d
--- /dev/null
+++ "b/0326.3\347\232\204\345\271\202/0326-3\347\232\204\345\271\202.py"
@@ -0,0 +1,12 @@
+class Solution(object):
+    def isPowerOfThree(self, n):
+        """
+        :type n: int
+        :rtype: bool
+        """
+        i = 1
+        while(i<n):
+            i *= 3
+        return i == n
+            
+        
\ No newline at end of file
diff --git "a/0342.4\347\232\204\345\271\202/0342-4\347\232\204\345\271\202.py" "b/0342.4\347\232\204\345\271\202/0342-4\347\232\204\345\271\202.py"
new file mode 100644
index 0000000..d6d0e82
--- /dev/null
+++ "b/0342.4\347\232\204\345\271\202/0342-4\347\232\204\345\271\202.py"
@@ -0,0 +1,11 @@
+class Solution(object):
+    def isPowerOfFour(self, num):
+        """
+        :type num: int
+        :rtype: bool
+        """
+        i = 1
+        while(i<num):
+            i*= 4
+        return i == num
+        
\ No newline at end of file
diff --git "a/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262/0344-\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.py" "b/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262/0344-\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.py"
new file mode 100644
index 0000000..6a23614
--- /dev/null
+++ "b/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262/0344-\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.py"
@@ -0,0 +1,8 @@
+class Solution(object):
+    def reverseString(self, s):
+        """
+        :type s: str
+        :rtype: str
+        """
+        return s[::-1]
+        
\ No newline at end of file
diff --git "a/0350.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206II/0350-\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206II.py" "b/0350.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206II/0350-\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206II.py"
new file mode 100644
index 0000000..f2c8362
--- /dev/null
+++ "b/0350.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206II/0350-\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206II.py"
@@ -0,0 +1,16 @@
+class Solution(object):
+    def intersect(self, nums1, nums2):
+        """
+        :type nums1: List[int]
+        :type nums2: List[int]
+        :rtype: List[int]
+        """
+        res = []
+        for i in range(0,len(nums1)):
+            if nums1[i] in nums2:
+                nums2.remove(nums1[i])
+                # print nums1,nums2
+                res.append(nums1[i])
+                
+            # print nums1,nums2,res
+        return res
\ No newline at end of file
diff --git "a/0376.\346\221\206\345\212\250\345\272\217\345\210\227/0376-\346\221\206\345\212\250\345\272\217\345\210\227.py" "b/0376.\346\221\206\345\212\250\345\272\217\345\210\227/0376-\346\221\206\345\212\250\345\272\217\345\210\227.py"
new file mode 100644
index 0000000..af226c0
--- /dev/null
+++ "b/0376.\346\221\206\345\212\250\345\272\217\345\210\227/0376-\346\221\206\345\212\250\345\272\217\345\210\227.py"
@@ -0,0 +1,32 @@
+class Solution(object):
+    def wiggleMaxLength(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: int
+        """
+        if not nums:
+            return 0
+        autom = {}
+        max_l = 1
+        state = "begin"
+        for i in range(1, len(nums)):
+            if state == "begin":
+                if nums[i-1] < nums[i]:
+                    state = "up"
+                    max_l += 1
+                elif nums[i-1] > nums[i]:
+                    state = "down"
+                    max_l += 1
+                    
+            elif state == "up":
+                if nums[i-1] > nums[i]:
+                    state = "down"
+                    max_l += 1
+                    
+            elif state == "down":
+                if nums[i-1] < nums[i]:
+                    state = "up"
+                    max_l += 1
+                    
+        return max_l
+                
\ No newline at end of file
diff --git "a/0387.\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\347\254\254\344\270\200\344\270\252\345\224\257\344\270\200\345\255\227\347\254\246/0387-\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\347\254\254\344\270\200\344\270\252\345\224\257\344\270\200\345\255\227\347\254\246.cpp" "b/0387.\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\347\254\254\344\270\200\344\270\252\345\224\257\344\270\200\345\255\227\347\254\246/0387-\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\347\254\254\344\270\200\344\270\252\345\224\257\344\270\200\345\255\227\347\254\246.cpp"
new file mode 100644
index 0000000..1a80365
--- /dev/null
+++ "b/0387.\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\347\254\254\344\270\200\344\270\252\345\224\257\344\270\200\345\255\227\347\254\246/0387-\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\347\254\254\344\270\200\344\270\252\345\224\257\344\270\200\345\255\227\347\254\246.cpp"
@@ -0,0 +1,16 @@
+class Solution {
+public:
+    int firstUniqChar(string s) {
+        string dic = "abcdefghijklmnopqrstuvwxyz";
+        int res = s.size();
+        for (int i = 0; i < dic.size(); ++i){
+            int a = s.find(dic[i]);
+            int b = s.rfind(dic[i]);
+            cout << a <<" " << b <<endl;
+            if (a == b && a != -1){
+                res = a<res ? a :res;
+            }
+        }
+        return res < s.size() ? res : -1;
+    }
+};
\ No newline at end of file
diff --git "a/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214/0404-\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.py" "b/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214/0404-\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.py"
new file mode 100644
index 0000000..aca6508
--- /dev/null
+++ "b/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214/0404-\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.py"
@@ -0,0 +1,19 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def sumOfLeftLeaves(self, root):
+        """
+        :type root: TreeNode
+        :rtype: int
+        """
+        if not root:
+            return 0
+        if root.left:
+            if not root.left.left and not root.left.right:
+                return root.left.val + self.sumOfLeftLeaves(root.right)
+        return self.sumOfLeftLeaves(root.left) + self.sumOfLeftLeaves(root.right)
diff --git a/0412.FizzBuzz/0412-FizzBuzz.py b/0412.FizzBuzz/0412-FizzBuzz.py
new file mode 100644
index 0000000..e58e5ae
--- /dev/null
+++ b/0412.FizzBuzz/0412-FizzBuzz.py
@@ -0,0 +1,17 @@
+class Solution(object):
+    def fizzBuzz(self, n):
+        """
+        :type n: int
+        :rtype: List[str]
+        """
+        res = []
+        for i in range(1,n+1):
+            if i % 3 == 0 and i % 5 == 0:
+                res.append("FizzBuzz")
+            elif i%3 == 0:
+                res.append("Fizz")
+            elif i%5 == 0:
+                res.append("Buzz")
+            else:
+                res.append(str(i))
+        return res
\ No newline at end of file
diff --git "a/0429.N\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206/0429-N\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.py" "b/0429.N\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206/0429-N\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.py"
new file mode 100644
index 0000000..94a6107
--- /dev/null
+++ "b/0429.N\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206/0429-N\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.py"
@@ -0,0 +1,32 @@
+"""
+# Definition for a Node.
+class Node(object):
+    def __init__(self, val, children):
+        self.val = val
+        self.children = children
+"""
+class Solution(object):
+    def levelOrder(self, root):
+        """
+        :type root: Node
+        :rtype: List[List[int]]
+        """
+        if not root:
+            return []
+        nodes = [root]
+        node_val = list(list())
+        self.generate(nodes, node_val)
+        return node_val
+    
+    def generate(self, nodes, node_val):
+        new_node = []
+        new_node_val = []
+        for node in nodes:
+            for leaf in node.children:
+                new_node.append(leaf)
+            new_node_val.append(node.val)
+        node_val.append(new_node_val)
+        if len(new_node) == 0:
+            return
+        self.generate(new_node, node_val)
+        
\ No newline at end of file
diff --git "a/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203/0452-\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.cpp" "b/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203/0452-\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.cpp"
new file mode 100644
index 0000000..c169fb9
--- /dev/null
+++ "b/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203/0452-\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.cpp"
@@ -0,0 +1,35 @@
+
+
+#include <algorithm>
+#include <vector>
+
+bool cmp(const std::pair<int, int> &a, const std::pair<int ,int> &b) {
+    return a.first < b.first;
+}
+
+class Solution {
+public:
+    int findMinArrowShots(std::vector<std::pair<int, int> >& points) {
+    	if (points.size() == 0){
+	    	return 0;
+	    }
+    	std::sort(points.begin(), points.end(), cmp);
+    	int shoot_num = 1;
+    	int shoot_begin = points[0].first;
+    	int shoot_end = points[0].second;
+    	for (int i = 1; i < points.size(); i++){
+	    	if (points[i].first <= shoot_end){
+	    		shoot_begin = points[i].first;
+    			if (shoot_end > points[i].second){
+			    	shoot_end = points[i].second;
+			    }
+	    	}
+	    	else{
+	    		shoot_num++;
+	    		shoot_begin = points[i].first;
+	    		shoot_end = points[i].second;
+	    	}
+	    }
+	    return shoot_num;
+    }
+};
\ No newline at end of file
diff --git "a/0455.\345\210\206\345\217\221\351\245\274\345\271\262/0455-\345\210\206\345\217\221\351\245\274\345\271\262.cpp" "b/0455.\345\210\206\345\217\221\351\245\274\345\271\262/0455-\345\210\206\345\217\221\351\245\274\345\271\262.cpp"
new file mode 100644
index 0000000..b9763ca
--- /dev/null
+++ "b/0455.\345\210\206\345\217\221\351\245\274\345\271\262/0455-\345\210\206\345\217\221\351\245\274\345\271\262.cpp"
@@ -0,0 +1,18 @@
+#include<algorithm>
+#include<vector>
+class Solution {
+public:
+    int findContentChildren(vector<int>& g, vector<int>& s) {
+        std::sort(g.begin(), g.end());
+        std::sort(s.begin(), s.end());
+        int child = 0;
+        int cookie = 0;
+        while(child < g.size() && cookie < s.size()){
+            if (g[child] <= s[cookie]){
+                child++;
+            }
+            cookie++;
+        }
+        return child;
+    }
+};
\ No newline at end of file
diff --git "a/0461.\346\261\211\346\230\216\350\267\235\347\246\273/0461-\346\261\211\346\230\216\350\267\235\347\246\273.py" "b/0461.\346\261\211\346\230\216\350\267\235\347\246\273/0461-\346\261\211\346\230\216\350\267\235\347\246\273.py"
new file mode 100644
index 0000000..6a831db
--- /dev/null
+++ "b/0461.\346\261\211\346\230\216\350\267\235\347\246\273/0461-\346\261\211\346\230\216\350\267\235\347\246\273.py"
@@ -0,0 +1,14 @@
+class Solution(object):
+    def hammingDistance(self, x, y):
+        """
+        :type x: int
+        :type y: int
+        :rtype: int
+        """
+        res = 0
+        while(x>0 or y>0):
+            if (x & 1 ^ y & 1):
+                res += 1 
+            x >>=1
+            y >>=1
+        return res
\ No newline at end of file
diff --git "a/0496.\344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240I/0496-\344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240I.py" "b/0496.\344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240I/0496-\344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240I.py"
new file mode 100644
index 0000000..b296758
--- /dev/null
+++ "b/0496.\344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240I/0496-\344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240I.py"
@@ -0,0 +1,19 @@
+class Solution(object):
+    def nextGreaterElement(self, findNums, nums):
+        """
+        :type findNums: List[int]
+        :type nums: List[int]
+        :rtype: List[int]
+        """
+        if not findNums or not nums:
+            return []
+        res = list()
+        for item in findNums:
+            index = nums.index(item)
+            for i in range(index, len(nums)):
+                if nums[i] > item:
+                    res.append(nums[i])
+                    break
+            if i + 1 == len(nums) and nums[-1] <= item:
+                res.append(-1)
+        return res
\ No newline at end of file
diff --git "a/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260/0509-\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.py" "b/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260/0509-\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.py"
new file mode 100644
index 0000000..bd3297c
--- /dev/null
+++ "b/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260/0509-\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.py"
@@ -0,0 +1,11 @@
+class Solution(object):
+    def fib(self, N):
+        """
+        :type N: int
+        :rtype: int
+        """
+        F = [0,1,1]
+        for i in range(3, N+1):
+            F.append(F[-1] + F[-2])
+        return F[N]
+        
\ No newline at end of file
diff --git "a/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274/0513-\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.py" "b/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274/0513-\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.py"
new file mode 100644
index 0000000..f677285
--- /dev/null
+++ "b/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274/0513-\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.py"
@@ -0,0 +1,28 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def findBottomLeftValue(self, root):
+        """
+        :type root: TreeNode
+        :rtype: int
+        """
+        next_layer = [root]
+        while(next_layer):
+            temp_next_layer = []
+            layer_value = []
+            for node in next_layer:
+                if node.left:                    
+                    temp_next_layer.append(node.left)
+                if node.right:
+                    temp_next_layer.append(node.right)
+                layer_value.append(node.val)
+                # print layer_value 
+            next_layer = temp_next_layer
+            
+        # print layer_value        
+        return layer_value[0]
\ No newline at end of file
diff --git "a/0515.\345\234\250\346\257\217\344\270\252\346\240\221\350\241\214\344\270\255\346\211\276\346\234\200\345\244\247\345\200\274/0515-\345\234\250\346\257\217\344\270\252\346\240\221\350\241\214\344\270\255\346\211\276\346\234\200\345\244\247\345\200\274.py" "b/0515.\345\234\250\346\257\217\344\270\252\346\240\221\350\241\214\344\270\255\346\211\276\346\234\200\345\244\247\345\200\274/0515-\345\234\250\346\257\217\344\270\252\346\240\221\350\241\214\344\270\255\346\211\276\346\234\200\345\244\247\345\200\274.py"
new file mode 100644
index 0000000..4b14616
--- /dev/null
+++ "b/0515.\345\234\250\346\257\217\344\270\252\346\240\221\350\241\214\344\270\255\346\211\276\346\234\200\345\244\247\345\200\274/0515-\345\234\250\346\257\217\344\270\252\346\240\221\350\241\214\344\270\255\346\211\276\346\234\200\345\244\247\345\200\274.py"
@@ -0,0 +1,38 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def largestValues(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[int]
+        """
+
+        if not root:
+            return []
+        next_layer = [root]
+        result = []
+        while(next_layer):
+            temp_next_layer = []
+            layer_value = []
+            for node in next_layer:
+                if not node:
+                    continue
+                layer_value.append(node.val)
+                # print layer_value
+                if node.left:
+                    temp_next_layer.append(node.left)
+                if node.right:
+                    temp_next_layer.append(node.right)
+                
+            # print temp_next_layer[0].val
+            next_layer = temp_next_layer
+            result.append(max(layer_value))
+
+            
+        return result
+                        
\ No newline at end of file
diff --git "a/0540.\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\345\215\225\344\270\200\345\205\203\347\264\240/0540-\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\345\215\225\344\270\200\345\205\203\347\264\240.py" "b/0540.\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\345\215\225\344\270\200\345\205\203\347\264\240/0540-\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\345\215\225\344\270\200\345\205\203\347\264\240.py"
new file mode 100644
index 0000000..a3abfed
--- /dev/null
+++ "b/0540.\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\345\215\225\344\270\200\345\205\203\347\264\240/0540-\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\345\215\225\344\270\200\345\205\203\347\264\240.py"
@@ -0,0 +1,10 @@
+class Solution(object):
+    def singleNonDuplicate(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: int
+        """
+        i = 0
+        for num in nums:
+            i ^= num
+        return i
\ No newline at end of file
diff --git "a/0559.N\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246/0559-N\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.py" "b/0559.N\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246/0559-N\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.py"
new file mode 100644
index 0000000..55bc02e
--- /dev/null
+++ "b/0559.N\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246/0559-N\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.py"
@@ -0,0 +1,20 @@
+"""
+# Definition for a Node.
+class Node(object):
+    def __init__(self, val, children):
+        self.val = val
+        self.children = children
+"""
+class Solution(object):
+    def maxDepth(self, root):
+        """
+        :type root: Node
+        :rtype: int
+        """
+        result = []
+        if not root:
+            return 0
+        for node in root.children:
+            result.append(self.maxDepth(node))
+        
+        return 1 + max(result) if result else 1
\ No newline at end of file
diff --git "a/0561.\346\225\260\347\273\204\346\213\206\345\210\206I/0561-\346\225\260\347\273\204\346\213\206\345\210\206I.py" "b/0561.\346\225\260\347\273\204\346\213\206\345\210\206I/0561-\346\225\260\347\273\204\346\213\206\345\210\206I.py"
new file mode 100644
index 0000000..80d7e5b
--- /dev/null
+++ "b/0561.\346\225\260\347\273\204\346\213\206\345\210\206I/0561-\346\225\260\347\273\204\346\213\206\345\210\206I.py"
@@ -0,0 +1,10 @@
+class Solution(object):
+    def arrayPairSum(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: int
+        """
+        if len(nums) == 0:
+            return 0
+        nums.sort()
+        return sum(nums[i] for i in range(0, len(nums),2)) 
\ No newline at end of file
diff --git "a/0589.N\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206/0589-N\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206.py" "b/0589.N\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206/0589-N\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206.py"
new file mode 100644
index 0000000..35e21d7
--- /dev/null
+++ "b/0589.N\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206/0589-N\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\351\201\215\345\216\206.py"
@@ -0,0 +1,22 @@
+"""
+# Definition for a Node.
+class Node(object):
+    def __init__(self, val, children):
+        self.val = val
+        self.children = children
+"""
+class Solution(object):
+    def preorder(self, root):
+        """
+        :type root: Node
+        :rtype: List[int]
+        """
+        if not root:
+            return list()
+        result = list()
+        result.append(root.val)
+        
+        for leaf in root.children:
+            result += self.preorder(leaf)
+            
+        return result
\ No newline at end of file
diff --git "a/0590.N\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206/0590-N\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206.py" "b/0590.N\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206/0590-N\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206.py"
new file mode 100644
index 0000000..0e1515b
--- /dev/null
+++ "b/0590.N\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206/0590-N\345\217\211\346\240\221\347\232\204\345\220\216\345\272\217\351\201\215\345\216\206.py"
@@ -0,0 +1,20 @@
+"""
+# Definition for a Node.
+class Node(object):
+    def __init__(self, val, children):
+        self.val = val
+        self.children = children
+"""
+class Solution(object):
+    def postorder(self, root):
+        """
+        :type root: Node
+        :rtype: List[int]
+        """
+        if not root:
+            return []
+        res = list()
+        for leaf in root.children:
+            res += self.postorder(leaf)
+        
+        return res + [root.val]
\ No newline at end of file
diff --git "a/0595.\345\244\247\347\232\204\345\233\275\345\256\266/0595-\345\244\247\347\232\204\345\233\275\345\256\266.sql" "b/0595.\345\244\247\347\232\204\345\233\275\345\256\266/0595-\345\244\247\347\232\204\345\233\275\345\256\266.sql"
new file mode 100644
index 0000000..1534f7d
--- /dev/null
+++ "b/0595.\345\244\247\347\232\204\345\233\275\345\256\266/0595-\345\244\247\347\232\204\345\233\275\345\256\266.sql"
@@ -0,0 +1,2 @@
+# Write your MySQL query statement below
+select name, population, area from World where area > 3000000 or population > 25000000
\ No newline at end of file
diff --git "a/0596.\350\266\205\350\277\2075\345\220\215\345\255\246\347\224\237\347\232\204\350\257\276/0596-\350\266\205\350\277\2075\345\220\215\345\255\246\347\224\237\347\232\204\350\257\276.sql" "b/0596.\350\266\205\350\277\2075\345\220\215\345\255\246\347\224\237\347\232\204\350\257\276/0596-\350\266\205\350\277\2075\345\220\215\345\255\246\347\224\237\347\232\204\350\257\276.sql"
new file mode 100644
index 0000000..5cbac7d
--- /dev/null
+++ "b/0596.\350\266\205\350\277\2075\345\220\215\345\255\246\347\224\237\347\232\204\350\257\276/0596-\350\266\205\350\277\2075\345\220\215\345\255\246\347\224\237\347\232\204\350\257\276.sql"
@@ -0,0 +1,4 @@
+# Write your MySQL query statement below
+select class 
+from( select class from courses group by class,student )a 
+group by class having count(class) >= 5
\ No newline at end of file
diff --git "a/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221/0617-\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.py" "b/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221/0617-\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.py"
new file mode 100644
index 0000000..a708dc1
--- /dev/null
+++ "b/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221/0617-\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.py"
@@ -0,0 +1,23 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def mergeTrees(self, t1, t2):
+        """
+        :type t1: TreeNode
+        :type t2: TreeNode
+        :rtype: TreeNode
+        """
+        if not t1:
+            return t2
+        if not t2:
+            return t1
+        t1.val += t2.val
+        t1.left = self.mergeTrees(t1.left, t2.left)
+        t1.right = self.mergeTrees(t1.right, t2.right)
+        return t1
+        
\ No newline at end of file
diff --git "a/0620.\346\234\211\350\266\243\347\232\204\347\224\265\345\275\261/0620-\346\234\211\350\266\243\347\232\204\347\224\265\345\275\261.sql" "b/0620.\346\234\211\350\266\243\347\232\204\347\224\265\345\275\261/0620-\346\234\211\350\266\243\347\232\204\347\224\265\345\275\261.sql"
new file mode 100644
index 0000000..c75d54f
--- /dev/null
+++ "b/0620.\346\234\211\350\266\243\347\232\204\347\224\265\345\275\261/0620-\346\234\211\350\266\243\347\232\204\347\224\265\345\275\261.sql"
@@ -0,0 +1,5 @@
+# Write your MySQL query statement below
+select * 
+from cinema
+where description != "boring" and id % 2 != 0
+order by rating desc
\ No newline at end of file
diff --git "a/0622.\350\256\276\350\256\241\345\276\252\347\216\257\351\230\237\345\210\227/0622-\350\256\276\350\256\241\345\276\252\347\216\257\351\230\237\345\210\227.py" "b/0622.\350\256\276\350\256\241\345\276\252\347\216\257\351\230\237\345\210\227/0622-\350\256\276\350\256\241\345\276\252\347\216\257\351\230\237\345\210\227.py"
new file mode 100644
index 0000000..0d9c892
--- /dev/null
+++ "b/0622.\350\256\276\350\256\241\345\276\252\347\216\257\351\230\237\345\210\227/0622-\350\256\276\350\256\241\345\276\252\347\216\257\351\230\237\345\210\227.py"
@@ -0,0 +1,84 @@
+class MyCircularQueue(object):
+
+    def __init__(self, k):
+        """
+        Initialize your data structure here. Set the size of the queue to be k.
+        :type k: int
+        """
+        self.queue = [""] * k
+        self.max_length = k
+        self.start = -1
+        self.end = -1
+
+    def enQueue(self, value):
+        """
+        Insert an element into the circular queue. Return true if the operation is successful.
+        :type value: int
+        :rtype: bool
+        """
+        if not self.isFull():
+            if self.start == -1:
+                self.start = 0
+            self.end = (self.end + 1) % self.max_length
+            self.queue[self.end] = value
+            return True
+        else:
+            return False
+        
+        
+
+    def deQueue(self):
+        """
+        Delete an element from the circular queue. Return true if the operation is successful.
+        :rtype: bool
+        """
+        if not self.isEmpty():       
+            if self.start == self.end: # the last element
+                self.start, self.end = -1, -1
+                # self.end = -1
+            else:
+                self.start = (self.start + 1) % self.max_length
+            return True
+        else:
+            return False
+        
+
+    def Front(self):
+        """
+        Get the front item from the queue.
+        :rtype: int
+        """
+        return -1 if self.isEmpty() else self.queue[self.start]
+
+
+    def Rear(self):
+        """
+        Get the last item from the queue.
+        :rtype: int
+        """
+        return -1 if self.isEmpty() else self.queue[self.end]
+
+    def isEmpty(self):
+        """
+        Checks whether the circular queue is empty or not.
+        :rtype: bool
+        """
+        return self.start == -1 and self.end == -1
+
+    def isFull(self):
+        """
+        Checks whether the circular queue is full or not.
+        :rtype: bool
+        """
+        return (self.end + 1) % self.max_length == self.start
+        
+
+
+# Your MyCircularQueue object will be instantiated and called as such:
+# obj = MyCircularQueue(k)
+# param_1 = obj.enQueue(value)
+# param_2 = obj.deQueue()
+# param_3 = obj.Front()
+# param_4 = obj.Rear()
+# param_5 = obj.isEmpty()
+# param_6 = obj.isFull()
\ No newline at end of file
diff --git "a/0637.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\271\263\345\235\207\345\200\274/0637-\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\271\263\345\235\207\345\200\274.py" "b/0637.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\271\263\345\235\207\345\200\274/0637-\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\271\263\345\235\207\345\200\274.py"
new file mode 100644
index 0000000..4c4960c
--- /dev/null
+++ "b/0637.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\271\263\345\235\207\345\200\274/0637-\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\271\263\345\235\207\345\200\274.py"
@@ -0,0 +1,32 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def averageOfLevels(self, root):
+        """
+        :type root: TreeNode
+        :rtype: List[float]
+        """
+        if not root:
+            return []
+        next_layer = [root.left, root.right]
+        result = [float(root.val)]
+        
+        while(next_layer):
+            temp_next_layer = list()
+            layer_value = list()
+            for node in next_layer:
+                if not node:
+                    continue
+                temp_next_layer.append(node.left)
+                temp_next_layer.append(node.right)
+                layer_value.append(node.val)
+            if layer_value:
+                result.append(sum(layer_value) / float(len(layer_value)))
+            next_layer = temp_next_layer
+        return result
+        
\ No newline at end of file
diff --git "a/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221/0654-\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.py" "b/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221/0654-\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.py"
new file mode 100644
index 0000000..bacac72
--- /dev/null
+++ "b/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221/0654-\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.py"
@@ -0,0 +1,20 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def constructMaximumBinaryTree(self, nums):
+        """
+        :type nums: List[int]
+        :rtype: TreeNode
+        """
+        if not nums:
+            return None
+        root = TreeNode(max(nums))
+        root.left = self.constructMaximumBinaryTree(nums[:nums.index(root.val)])
+        root.right = self.constructMaximumBinaryTree(nums[nums.index(root.val)+1:])
+        return root
+        
\ No newline at end of file
diff --git "a/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271/0657-\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.py" "b/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271/0657-\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.py"
new file mode 100644
index 0000000..8363e03
--- /dev/null
+++ "b/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271/0657-\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.py"
@@ -0,0 +1,7 @@
+class Solution(object):
+    def judgeCircle(self, moves):
+        """
+        :type moves: str
+        :rtype: bool
+        """
+        return moves.count('U')==moves.count('D') and moves.count('R')==moves.count('L')
\ No newline at end of file
diff --git "a/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242/0700-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.py" "b/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242/0700-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.py"
new file mode 100644
index 0000000..0a76293
--- /dev/null
+++ "b/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242/0700-\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.py"
@@ -0,0 +1,25 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def searchBST(self, root, val):
+        """
+        :type root: TreeNode
+        :type val: int
+        :rtype: TreeNode
+        """
+        # print root.val
+        if not root:
+            return None
+        if root.val == val:
+            return root
+        elif root.val > val:
+            return self.searchBST(root.left, val)
+        else:
+            return self.searchBST(root.right, val)
+            
+        
\ No newline at end of file
diff --git "a/0709.\350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215/0709-\350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215.py" "b/0709.\350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215/0709-\350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215.py"
new file mode 100644
index 0000000..3ba9795
--- /dev/null
+++ "b/0709.\350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215/0709-\350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215.py"
@@ -0,0 +1,8 @@
+class Solution(object):
+    def toLowerCase(self, str):
+        """
+        :type str: str
+        :rtype: str
+        """
+        return str.lower()
+        
\ No newline at end of file
diff --git "a/0725.\345\210\206\351\232\224\351\223\276\350\241\250/0725-\345\210\206\351\232\224\351\223\276\350\241\250.cpp" "b/0725.\345\210\206\351\232\224\351\223\276\350\241\250/0725-\345\210\206\351\232\224\351\223\276\350\241\250.cpp"
new file mode 100644
index 0000000..e5c5e5d
--- /dev/null
+++ "b/0725.\345\210\206\351\232\224\351\223\276\350\241\250/0725-\345\210\206\351\232\224\351\223\276\350\241\250.cpp"
@@ -0,0 +1,32 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode* partition(ListNode* head, int x) {
+        ListNode less_head(0);
+        ListNode more_head(1);
+        ListNode* less_ptr = &less_head;
+        ListNode* more_ptr = &more_head;
+        while(head){
+            if (head->val >= x){
+                more_ptr->next = head;
+                more_ptr = more_ptr->next;
+            }
+            else{
+                less_ptr->next = head;
+                less_ptr = less_ptr->next;
+            }
+            head = head->next;
+        }
+        less_ptr->next = more_head.next;
+        more_ptr->next = NULL;
+        return less_head.next;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0739.\346\257\217\346\227\245\346\270\251\345\272\246/0739-\346\257\217\346\227\245\346\270\251\345\272\246.py" "b/0739.\346\257\217\346\227\245\346\270\251\345\272\246/0739-\346\257\217\346\227\245\346\270\251\345\272\246.py"
new file mode 100644
index 0000000..c13dac5
--- /dev/null
+++ "b/0739.\346\257\217\346\227\245\346\270\251\345\272\246/0739-\346\257\217\346\227\245\346\270\251\345\272\246.py"
@@ -0,0 +1,15 @@
+class Solution(object):
+    def dailyTemperatures(self, T):
+        """
+        :type T: List[int]
+        :rtype: List[int]
+        """
+        res = [0] * len(T)
+        s = []
+        # print res
+        for i in range(0, len(T)):
+            while(s and T[i] > T[s[-1]]):
+                res[s[-1]] = i - s[-1]
+                s.pop()
+            s.append(i)            
+        return res
\ No newline at end of file
diff --git "a/0771.\345\256\235\347\237\263\344\270\216\347\237\263\345\244\264/0771-\345\256\235\347\237\263\344\270\216\347\237\263\345\244\264.py" "b/0771.\345\256\235\347\237\263\344\270\216\347\237\263\345\244\264/0771-\345\256\235\347\237\263\344\270\216\347\237\263\345\244\264.py"
new file mode 100644
index 0000000..0060855
--- /dev/null
+++ "b/0771.\345\256\235\347\237\263\344\270\216\347\237\263\345\244\264/0771-\345\256\235\347\237\263\344\270\216\347\237\263\345\244\264.py"
@@ -0,0 +1,11 @@
+class Solution(object):
+    def numJewelsInStones(self, J, S):
+        if len(J) == 0 or len(S) == 0:
+            return 0
+        count = 0
+        for itemins in S:
+            if itemins in J:
+                count += 1
+                
+        return count
+        
\ No newline at end of file
diff --git "a/0807.\344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277/0807-\344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277.py" "b/0807.\344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277/0807-\344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277.py"
new file mode 100644
index 0000000..3632801
--- /dev/null
+++ "b/0807.\344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277/0807-\344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277.py"
@@ -0,0 +1,22 @@
+class Solution(object):
+    def maxIncreaseKeepingSkyline(self, grid):
+        """
+        :type grid: List[List[int]]
+        :rtype: int
+        """
+        length = len(grid)
+        if length == 0:
+            return 0
+        res = 0
+
+        for i in range(0, length):
+            for j in range(0, length):
+                rowMax = 0
+                colomnMax = 0
+                for t in range(0,length):
+                    rowMax = max(grid[i][t],rowMax)
+                    colomnMax = max(grid[t][j],colomnMax)
+                print rowMax, colomnMax
+                res += min(colomnMax,rowMax ) - grid[i][j]
+        return res
+                
\ No newline at end of file
diff --git "a/0814.\344\272\214\345\217\211\346\240\221\345\211\252\346\236\235/0814-\344\272\214\345\217\211\346\240\221\345\211\252\346\236\235.py" "b/0814.\344\272\214\345\217\211\346\240\221\345\211\252\346\236\235/0814-\344\272\214\345\217\211\346\240\221\345\211\252\346\236\235.py"
new file mode 100644
index 0000000..2cefde6
--- /dev/null
+++ "b/0814.\344\272\214\345\217\211\346\240\221\345\211\252\346\236\235/0814-\344\272\214\345\217\211\346\240\221\345\211\252\346\236\235.py"
@@ -0,0 +1,23 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def pruneTree(self, root):
+        """
+        :type root: TreeNode
+        :rtype: TreeNode
+        """
+        if not root:
+            return None
+        # print root.val,  self.generate(root.left), self.generate(root.right)
+        root.left = self.pruneTree(root.left)
+        root.right = self.pruneTree(root.right)
+        if root.left == None and root.right == None and (root.val == 0):
+            return None
+        return root
+    
+            
diff --git "a/0867.\350\275\254\347\275\256\347\237\251\351\230\265/0867-\350\275\254\347\275\256\347\237\251\351\230\265.py" "b/0867.\350\275\254\347\275\256\347\237\251\351\230\265/0867-\350\275\254\347\275\256\347\237\251\351\230\265.py"
new file mode 100644
index 0000000..0bb2276
--- /dev/null
+++ "b/0867.\350\275\254\347\275\256\347\237\251\351\230\265/0867-\350\275\254\347\275\256\347\237\251\351\230\265.py"
@@ -0,0 +1,19 @@
+class Solution(object):
+    def transpose(self, A):
+        """
+        :type A: List[List[int]]
+        :rtype: List[List[int]]
+        """
+        res = []
+        
+        Maxcount = len(A[0])
+        count = 0
+        while count < Maxcount:
+            temp = []
+            for sublist in A:
+                temp.append(sublist[count])
+            res.append(temp)
+            count += 1
+            
+        return res
+        
\ No newline at end of file
diff --git "a/0876.\351\223\276\350\241\250\347\232\204\344\270\255\351\227\264\347\273\223\347\202\271/0876-\351\223\276\350\241\250\347\232\204\344\270\255\351\227\264\347\273\223\347\202\271.cpp" "b/0876.\351\223\276\350\241\250\347\232\204\344\270\255\351\227\264\347\273\223\347\202\271/0876-\351\223\276\350\241\250\347\232\204\344\270\255\351\227\264\347\273\223\347\202\271.cpp"
new file mode 100644
index 0000000..690fd99
--- /dev/null
+++ "b/0876.\351\223\276\350\241\250\347\232\204\344\270\255\351\227\264\347\273\223\347\202\271/0876-\351\223\276\350\241\250\347\232\204\344\270\255\351\227\264\347\273\223\347\202\271.cpp"
@@ -0,0 +1,24 @@
+/**
+ * Definition for singly-linked list.
+ * struct ListNode {
+ *     int val;
+ *     ListNode *next;
+ *     ListNode(int x) : val(x), next(NULL) {}
+ * };
+ */
+class Solution {
+public:
+    ListNode* middleNode(ListNode* head) {
+        ListNode* slow = head;
+        ListNode* fast = head;
+        if ((head == NULL) || (head->next == NULL)) return head;
+        while(1){
+            if (fast == NULL || fast->next == NULL)
+                break;
+            fast = fast->next->next;
+            slow = slow->next;
+            // cout<<slow->val<<" "<<fast->val<<endl;
+        }
+        return slow;
+    }
+};
\ No newline at end of file
diff --git "a/0908.\346\234\200\345\260\217\345\267\256\345\200\274I/0908-\346\234\200\345\260\217\345\267\256\345\200\274I.py" "b/0908.\346\234\200\345\260\217\345\267\256\345\200\274I/0908-\346\234\200\345\260\217\345\267\256\345\200\274I.py"
new file mode 100644
index 0000000..9f56830
--- /dev/null
+++ "b/0908.\346\234\200\345\260\217\345\267\256\345\200\274I/0908-\346\234\200\345\260\217\345\267\256\345\200\274I.py"
@@ -0,0 +1,10 @@
+class Solution(object):
+    def smallestRangeI(self, A, K):
+        """
+        :type A: List[int]
+        :type K: int
+        :rtype: int
+        """
+        A.sort()
+        return  0 if A[-1] - A[0] - 2*K <= 0 else A[-1] - A[0] - 2*K     
+        
\ No newline at end of file
diff --git "a/0914.\345\215\241\347\211\214\345\210\206\347\273\204/0914-\345\215\241\347\211\214\345\210\206\347\273\204.py" "b/0914.\345\215\241\347\211\214\345\210\206\347\273\204/0914-\345\215\241\347\211\214\345\210\206\347\273\204.py"
new file mode 100644
index 0000000..224b036
--- /dev/null
+++ "b/0914.\345\215\241\347\211\214\345\210\206\347\273\204/0914-\345\215\241\347\211\214\345\210\206\347\273\204.py"
@@ -0,0 +1,36 @@
+class Solution(object):
+    def hasGroupsSizeX( self,deck):
+        """
+        :type deck: List[int]
+        :rtype: bool
+        """
+        if len(deck) <=0:
+            return False
+        deck.sort()
+        print deck
+        a = deck[0]
+        count = deck.count(a)
+        if count < 2:
+            return False
+        for j in range(2, count +1):
+            if len(deck) % j != 0:
+                continue
+                print "invalid length",j,len(deck)
+            for i in range(0, len(deck),j):
+                temp = deck[i]
+                flag = 0
+                print i,temp
+                for k in range(i,i+j):
+                    if deck[k] != temp:
+                        flag = 1
+                        print "not the same",deck[k],temp
+                if flag == 1:
+                    break
+            if flag == 1:
+                continue
+            return True
+        return False
+
+
+        
+        
\ No newline at end of file
diff --git "a/0915.\345\210\206\345\211\262\346\225\260\347\273\204/0915-\345\210\206\345\211\262\346\225\260\347\273\204.cpp" "b/0915.\345\210\206\345\211\262\346\225\260\347\273\204/0915-\345\210\206\345\211\262\346\225\260\347\273\204.cpp"
new file mode 100644
index 0000000..72a04cd
--- /dev/null
+++ "b/0915.\345\210\206\345\211\262\346\225\260\347\273\204/0915-\345\210\206\345\211\262\346\225\260\347\273\204.cpp"
@@ -0,0 +1,13 @@
+class Solution {
+public:
+    int partitionDisjoint(vector<int>& a) {
+        vector<int> b = a;
+        for (int i = a.size() - 2; i >= 0; i--) {
+            b[i] = min(b[i], b[i + 1]);
+        }
+        for (int i = 0, mx = 0; i < a.size(); i++) {
+            mx = max(mx, a[i]);
+            if (mx <= b[i + 1]) return i + 1;
+        }
+    }
+};
\ No newline at end of file
diff --git "a/0917.\344\273\205\344\273\205\345\217\215\350\275\254\345\255\227\346\257\215/0917-\344\273\205\344\273\205\345\217\215\350\275\254\345\255\227\346\257\215.cpp" "b/0917.\344\273\205\344\273\205\345\217\215\350\275\254\345\255\227\346\257\215/0917-\344\273\205\344\273\205\345\217\215\350\275\254\345\255\227\346\257\215.cpp"
new file mode 100644
index 0000000..050134c
--- /dev/null
+++ "b/0917.\344\273\205\344\273\205\345\217\215\350\275\254\345\255\227\346\257\215/0917-\344\273\205\344\273\205\345\217\215\350\275\254\345\255\227\346\257\215.cpp"
@@ -0,0 +1,27 @@
+#include <cctype>
+class Solution {
+public:
+    string reverseOnlyLetters(string S) {
+        //scount = 0;
+        int rpos = S.size();
+        int lpos = 0;
+        for (int i = 0; i < S.size(); i++){
+            if (isalpha(S[i])){
+                lpos = i;
+                char temp = S[i];
+                for (int j = rpos-1; rpos > lpos; j--){
+                    if (isalpha(S[j])){
+                        //cout<<S[i]<<" "<<S[j]<<endl;
+                        S[i] = S[j];
+                        S[j] = temp;
+                        rpos = j;
+                        break;
+                    }
+                }
+                
+            }
+        }
+        return S;
+        
+    }
+};
\ No newline at end of file
diff --git "a/0921.\344\275\277\346\213\254\345\217\267\346\234\211\346\225\210\347\232\204\346\234\200\345\260\221\346\267\273\345\212\240/0921-\344\275\277\346\213\254\345\217\267\346\234\211\346\225\210\347\232\204\346\234\200\345\260\221\346\267\273\345\212\240.py" "b/0921.\344\275\277\346\213\254\345\217\267\346\234\211\346\225\210\347\232\204\346\234\200\345\260\221\346\267\273\345\212\240/0921-\344\275\277\346\213\254\345\217\267\346\234\211\346\225\210\347\232\204\346\234\200\345\260\221\346\267\273\345\212\240.py"
new file mode 100644
index 0000000..f20e3b0
--- /dev/null
+++ "b/0921.\344\275\277\346\213\254\345\217\267\346\234\211\346\225\210\347\232\204\346\234\200\345\260\221\346\267\273\345\212\240/0921-\344\275\277\346\213\254\345\217\267\346\234\211\346\225\210\347\232\204\346\234\200\345\260\221\346\267\273\345\212\240.py"
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+class Solution(object):
+    def minAddToMakeValid(self, S):
+        """
+        :type S: str
+        :rtype: int
+        """
+        dic = {"(":"", ")" : "("}
+        res = len(S)
+        temp = [None]
+        for item in S:
+            # print item
+            if temp[-1] != dic[item.encode('utf-8')]:
+                temp.append(item)
+            else:
+                temp = temp[:-1]
+        return len(temp) -1
+            
+        
\ No newline at end of file
diff --git "a/0922.\346\214\211\345\245\207\345\201\266\346\216\222\345\272\217\346\225\260\347\273\204II/0922-\346\214\211\345\245\207\345\201\266\346\216\222\345\272\217\346\225\260\347\273\204II.py" "b/0922.\346\214\211\345\245\207\345\201\266\346\216\222\345\272\217\346\225\260\347\273\204II/0922-\346\214\211\345\245\207\345\201\266\346\216\222\345\272\217\346\225\260\347\273\204II.py"
new file mode 100644
index 0000000..8fcc088
--- /dev/null
+++ "b/0922.\346\214\211\345\245\207\345\201\266\346\216\222\345\272\217\346\225\260\347\273\204II/0922-\346\214\211\345\245\207\345\201\266\346\216\222\345\272\217\346\225\260\347\273\204II.py"
@@ -0,0 +1,22 @@
+class Solution(object):
+    def sortArrayByParityII(self, A):
+        """
+        :type A: List[int]
+        :rtype: List[int]
+        """
+        odd_pos = 1
+        even_pos = 0
+        while(1):
+            while odd_pos < len(A) and A[odd_pos] % 2 == 1:
+                odd_pos += 2
+            while even_pos < len(A) and  A[even_pos] % 2 == 0 :
+                even_pos += 2
+            if even_pos >= len(A) and odd_pos >= len(A):
+                break
+            temp = A[even_pos]
+            A[even_pos] = A[odd_pos]
+            A[odd_pos] = temp
+            # print A,odd_pos,even_pos
+        return A
+                
+            
\ No newline at end of file
diff --git "a/0961.\351\207\215\345\244\215N\346\254\241\347\232\204\345\205\203\347\264\240/0961-\351\207\215\345\244\215N\346\254\241\347\232\204\345\205\203\347\264\240.py" "b/0961.\351\207\215\345\244\215N\346\254\241\347\232\204\345\205\203\347\264\240/0961-\351\207\215\345\244\215N\346\254\241\347\232\204\345\205\203\347\264\240.py"
new file mode 100644
index 0000000..ad1b98c
--- /dev/null
+++ "b/0961.\351\207\215\345\244\215N\346\254\241\347\232\204\345\205\203\347\264\240/0961-\351\207\215\345\244\215N\346\254\241\347\232\204\345\205\203\347\264\240.py"
@@ -0,0 +1,10 @@
+class Solution(object):
+    def repeatedNTimes(self, A):
+        """
+        :type A: List[int]
+        :rtype: int
+        """
+        half_l = len(A) / 2
+        temp = sorted(A)
+        return temp[half_l] if temp[half_l] == temp[half_l + 1] else temp[half_l - 1]
+        
\ No newline at end of file
diff --git "a/0965.\345\215\225\345\200\274\344\272\214\345\217\211\346\240\221/0965-\345\215\225\345\200\274\344\272\214\345\217\211\346\240\221.py" "b/0965.\345\215\225\345\200\274\344\272\214\345\217\211\346\240\221/0965-\345\215\225\345\200\274\344\272\214\345\217\211\346\240\221.py"
new file mode 100644
index 0000000..be1cad8
--- /dev/null
+++ "b/0965.\345\215\225\345\200\274\344\272\214\345\217\211\346\240\221/0965-\345\215\225\345\200\274\344\272\214\345\217\211\346\240\221.py"
@@ -0,0 +1,29 @@
+# Definition for a binary tree node.
+# class TreeNode(object):
+#     def __init__(self, x):
+#         self.val = x
+#         self.left = None
+#         self.right = None
+
+class Solution(object):
+    def isUnivalTree(self, root):
+        """
+        :type root: TreeNode
+        :rtype: bool
+        """
+            
+        self.value = root.val
+        self.result = True
+        self.generate(root)
+        return self.result
+    
+    def generate(self, root):
+        if root.val != self.value:
+            self.result = False
+            return
+        if not root:
+            return 
+        if root.left:
+            self.generate(root.left)
+        if root.right:
+            self.generate(root.right)
\ No newline at end of file
diff --git "a/0976.\344\270\211\350\247\222\345\275\242\347\232\204\346\234\200\345\244\247\345\221\250\351\225\277/0976-\344\270\211\350\247\222\345\275\242\347\232\204\346\234\200\345\244\247\345\221\250\351\225\277.py" "b/0976.\344\270\211\350\247\222\345\275\242\347\232\204\346\234\200\345\244\247\345\221\250\351\225\277/0976-\344\270\211\350\247\222\345\275\242\347\232\204\346\234\200\345\244\247\345\221\250\351\225\277.py"
new file mode 100644
index 0000000..aa6627c
--- /dev/null
+++ "b/0976.\344\270\211\350\247\222\345\275\242\347\232\204\346\234\200\345\244\247\345\221\250\351\225\277/0976-\344\270\211\350\247\222\345\275\242\347\232\204\346\234\200\345\244\247\345\221\250\351\225\277.py"
@@ -0,0 +1,12 @@
+class Solution(object):
+    def largestPerimeter(self, A):
+        """
+        :type A: List[int]
+        :rtype: int
+        """
+        A.sort()
+        for i in range(len(A) - 3,-1,-1):
+            if A[i] + A[i + 1] > A[i + 2]:
+                return A[i] + A[i + 1] + A[i + 2]
+        return 0
+        
\ No newline at end of file
diff --git "a/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271/0977-\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.py" "b/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271/0977-\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.py"
new file mode 100644
index 0000000..c04a255
--- /dev/null
+++ "b/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271/0977-\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.py"
@@ -0,0 +1,8 @@
+class Solution(object):
+    def sortedSquares(self, A):
+        """
+        :type A: List[int]
+        :rtype: List[int]
+        """
+        return sorted([_ ** 2 for _ in A])
+        
\ No newline at end of file