Skip to content

Commit

Permalink
# Update Source.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jinxiansen committed May 21, 2020
1 parent 86c8b27 commit 65961af
Show file tree
Hide file tree
Showing 18 changed files with 365 additions and 26 deletions.
40 changes: 40 additions & 0 deletions LeetCodeForMac/LeetCodeForMac.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,16 @@
41DC430724540A12003D318D /* Solution233.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41DC430624540A12003D318D /* Solution233.swift */; };
41DC430924547C58003D318D /* Solution695.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41DC430824547C58003D318D /* Solution695.swift */; };
41DC430B245489B1003D318D /* Solution557.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41DC430A245489B1003D318D /* Solution557.swift */; };
41E30D382470DAB8009AFCA5 /* Solution254.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D372470DAB8009AFCA5 /* Solution254.swift */; };
41E30D3A2470E02C009AFCA5 /* Solution507.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D392470E02C009AFCA5 /* Solution507.swift */; };
41E30D3C2470E6D7009AFCA5 /* Solution1078.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D3B2470E6D7009AFCA5 /* Solution1078.swift */; };
41E30D3E24710881009AFCA5 /* Solution104.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D3D24710881009AFCA5 /* Solution104.swift */; };
41E30D42247126CA009AFCA5 /* Solution56.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D41247126CA009AFCA5 /* Solution56.swift */; };
41E30D4424713533009AFCA5 /* Solution270.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D4324713533009AFCA5 /* Solution270.swift */; };
41E30D462471431A009AFCA5 /* Solution114.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D452471431A009AFCA5 /* Solution114.swift */; };
41E30D48247147A7009AFCA5 /* Solution20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D47247147A7009AFCA5 /* Solution20.swift */; };
41E30D4A24714F87009AFCA5 /* Solution22.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D4924714F87009AFCA5 /* Solution22.swift */; };
41E30D4C24715490009AFCA5 /* Solution226.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E30D4B24715490009AFCA5 /* Solution226.swift */; };
41FFAB192450A5880003AC4F /* Solution26.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FFAB182450A5880003AC4F /* Solution26.swift */; };
41FFAB1B2450A7D80003AC4F /* Solution122.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FFAB1A2450A7D80003AC4F /* Solution122.swift */; };
41FFAB1D2450AA6E0003AC4F /* Solution121.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FFAB1C2450AA6E0003AC4F /* Solution121.swift */; };
Expand Down Expand Up @@ -90,6 +100,16 @@
41DC430624540A12003D318D /* Solution233.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution233.swift; sourceTree = "<group>"; };
41DC430824547C58003D318D /* Solution695.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution695.swift; sourceTree = "<group>"; };
41DC430A245489B1003D318D /* Solution557.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution557.swift; sourceTree = "<group>"; };
41E30D372470DAB8009AFCA5 /* Solution254.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution254.swift; sourceTree = "<group>"; };
41E30D392470E02C009AFCA5 /* Solution507.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution507.swift; sourceTree = "<group>"; };
41E30D3B2470E6D7009AFCA5 /* Solution1078.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution1078.swift; sourceTree = "<group>"; };
41E30D3D24710881009AFCA5 /* Solution104.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution104.swift; sourceTree = "<group>"; };
41E30D41247126CA009AFCA5 /* Solution56.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution56.swift; sourceTree = "<group>"; };
41E30D4324713533009AFCA5 /* Solution270.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution270.swift; sourceTree = "<group>"; };
41E30D452471431A009AFCA5 /* Solution114.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution114.swift; sourceTree = "<group>"; };
41E30D47247147A7009AFCA5 /* Solution20.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution20.swift; sourceTree = "<group>"; };
41E30D4924714F87009AFCA5 /* Solution22.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution22.swift; sourceTree = "<group>"; };
41E30D4B24715490009AFCA5 /* Solution226.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution226.swift; sourceTree = "<group>"; };
41FFAB182450A5880003AC4F /* Solution26.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution26.swift; sourceTree = "<group>"; };
41FFAB1A2450A7D80003AC4F /* Solution122.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution122.swift; sourceTree = "<group>"; };
41FFAB1C2450AA6E0003AC4F /* Solution121.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Solution121.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -224,6 +244,16 @@
3CBB57EC2456D1B5009AC9E5 /* Solution237.swift */,
3CA0C2002456F267005DB2F1 /* Solution206.swift */,
41681FC724588DAF005224C0 /* Solution14.swift */,
41E30D372470DAB8009AFCA5 /* Solution254.swift */,
41E30D392470E02C009AFCA5 /* Solution507.swift */,
41E30D3B2470E6D7009AFCA5 /* Solution1078.swift */,
41E30D3D24710881009AFCA5 /* Solution104.swift */,
41E30D41247126CA009AFCA5 /* Solution56.swift */,
41E30D4324713533009AFCA5 /* Solution270.swift */,
41E30D452471431A009AFCA5 /* Solution114.swift */,
41E30D47247147A7009AFCA5 /* Solution20.swift */,
41E30D4924714F87009AFCA5 /* Solution22.swift */,
41E30D4B24715490009AFCA5 /* Solution226.swift */,
);
path = Solution;
sourceTree = "<group>";
Expand Down Expand Up @@ -478,26 +508,36 @@
files = (
41681FC42455E880005224C0 /* Solution5.swift in Sources */,
41DC40C32453F8D4003D318D /* Solution836.swift in Sources */,
41E30D3C2470E6D7009AFCA5 /* Solution1078.swift in Sources */,
3C1A86F42450237F00C3A426 /* PreviewController.swift in Sources */,
41DC40C12453EF35003D318D /* Solution7.swift in Sources */,
41E30D4C24715490009AFCA5 /* Solution226.swift in Sources */,
41681FC62455F07E005224C0 /* Solution9.swift in Sources */,
41E30D4424713533009AFCA5 /* Solution270.swift in Sources */,
41E30D3E24710881009AFCA5 /* Solution104.swift in Sources */,
3C0287A7245018A700C27FAD /* HomeController.swift in Sources */,
3C1A86F62450329F00C3A426 /* Solution199.swift in Sources */,
41E30D48247147A7009AFCA5 /* Solution20.swift in Sources */,
41FFAB192450A5880003AC4F /* Solution26.swift in Sources */,
41E30D4A24714F87009AFCA5 /* Solution22.swift in Sources */,
41FFAB1B2450A7D80003AC4F /* Solution122.swift in Sources */,
41681FC824588DAF005224C0 /* Solution14.swift in Sources */,
3CA0C2012456F267005DB2F1 /* Solution206.swift in Sources */,
41FFAB1D2450AA6E0003AC4F /* Solution121.swift in Sources */,
41DC430724540A12003D318D /* Solution233.swift in Sources */,
41FFAB1F2450AAD30003AC4F /* Solution123.swift in Sources */,
41E30D42247126CA009AFCA5 /* Solution56.swift in Sources */,
3C0287A5245018A700C27FAD /* AppDelegate.swift in Sources */,
41E30D3A2470E02C009AFCA5 /* Solution507.swift in Sources */,
3CBB57ED2456D1B5009AC9E5 /* Solution237.swift in Sources */,
3CBB57EF2456D1DD009AC9E5 /* ListNode.swift in Sources */,
41DC40BB2453E51D003D318D /* Solution409.swift in Sources */,
41DC40BD2453E9B0003D318D /* Solution543.swift in Sources */,
418A0CB824589D68001B3622 /* Extensions.swift in Sources */,
41E30D462471431A009AFCA5 /* Solution114.swift in Sources */,
41DC430B245489B1003D318D /* Solution557.swift in Sources */,
41DC430924547C58003D318D /* Solution695.swift in Sources */,
41E30D382470DAB8009AFCA5 /* Solution254.swift in Sources */,
3C0287D1245019DF00C27FAD /* Solution59.swift in Sources */,
41DC40BF2453E9EB003D318D /* TreeNode.swift in Sources */,
);
Expand Down
22 changes: 22 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution104.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//
// Solution104.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

// 104. 二叉树的最大深度
// https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/

class Solution104 {
func maxDepth(_ root: TreeNode?) -> Int {
guard let root = root else { return 0 }

let leftDepth = maxDepth(root.left)
let rightDepth = maxDepth(root.right)
return max(leftDepth,rightDepth) + 1
}
}
26 changes: 26 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution1078.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
//
// Solution1078.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

// 1078. Bigram 分词
// https://leetcode-cn.com/problems/occurrences-after-bigram/

class Solution1078 {
func findOcurrences(_ text: String, _ first: String, _ second: String) -> [String] {
let components = text.components(separatedBy: " ")
var results = [String]()

for i in 0..<components.count - 2 {
if components[i] == first && components[i+1] == second {
results.append(components[i+2])
}
}
return results
}
}
31 changes: 31 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution114.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// Solution114.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

// 114. 二叉树展开为链表
// https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/submissions/

class Solution114 {
func flatten(_ root: TreeNode?) {

var node = root
while node != nil {
if node?.left != nil {
var tree = node?.left
while tree?.right != nil {
tree = tree?.right
}
tree?.right = node?.right
node?.right = node?.left
node?.left = nil
}
node = node?.right
}
}
}
2 changes: 1 addition & 1 deletion LeetCodeForMac/LeetCodeForMac/Solution/Solution123.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ import Foundation

class Solution123 {


#warning("123")
}
15 changes: 4 additions & 11 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution14.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,16 @@ import Foundation

class Solution14 {
func longestCommonPrefix(_ strs: [String]) -> String {
guard strs.count != 0 else {
return ""
}
guard strs.count != 1 else {
return strs[0]
}

guard strs.count > 1 else { return strs.first ?? "" }
var result = strs[0]
var isRun = true

while isRun {
for (idx,value) in strs.enumerated() {
if idx == 0 { continue }

if value.hasPrefix(result) {
for i in 1..<strs.count {
if strs[i].hasPrefix(result) {
isRun = false
}else {
} else {
result = String(result.prefix(result.count - 1))
isRun = true
break
Expand Down
8 changes: 2 additions & 6 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution199.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,22 @@

import Foundation

// 199. 二叉树的右视图
// https://leetcode-cn.com/problems/binary-tree-right-side-view/

class Solution199 {
func rightSideView(_ root: TreeNode?) -> [Int] {
guard let root = root else { return [] }

var queue = [Int]()

func queryNode(_ node: TreeNode?, level: Int) {
guard let node = node else { return }

if level == queue.count {
queue.append(node.val)
}

queryNode(node.right, level: level + 1)
queryNode(node.left, level: level + 1)
}

queryNode(root, level: 0)

return queue
}

Expand Down
31 changes: 31 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution20.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// Solution20.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

// 20. 有效的括号
// https://leetcode-cn.com/problems/valid-parentheses/

class Solution20 {

func isValid(_ s: String) -> Bool {
var stacks = [String]()
for c in s {
if c == "(" {
stacks.append(")")
}else if c == "[" {
stacks.append("]")
}else if c == "{" {
stacks.append("}")
}else if stacks.isEmpty || String(c) != stacks.removeLast() {
return false
}
}
return stacks.isEmpty
}
}
34 changes: 34 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution22.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
//
// Solution22.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

class Solution22 {

func generateParenthesis(_ n: Int) -> [String] {

var results = [String]()
func recursive(left: Int,right: Int, current: String) {
if right > 0 {
if left > 0 {
recursive(left: left - 1, right: right, current: current + "(")
}
if right > left {
recursive(left:left, right: right - 1, current: current + ")")
}
} else {
results.append(current)
}
}

recursive(left: n, right: n, current: "")

return results
}

}
24 changes: 24 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution226.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//
// Solution226.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

// 226. 翻转二叉树
// https://leetcode-cn.com/problems/invert-binary-tree/

class Solution226 {
func invertTree(_ root: TreeNode?) -> TreeNode? {
guard let root = root else { return nil }
let left = invertTree(root.left)
let right = invertTree(root.right)

root.left = right
root.right = left
return root
}
}
4 changes: 2 additions & 2 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution233.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Solution233 {
let resB = (G-E) * (H-F)

if x1<x2 && y1<y2 {
return resA + resB - (x2-x1)*(y2-y1)
return resA + resB - (x2-x1)*(y2-y1)
}else {
return resA + resB
return resA + resB
}
}
}
38 changes: 38 additions & 0 deletions LeetCodeForMac/LeetCodeForMac/Solution/Solution254.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// Solution254.swift
// LeetCodeForMac
//
// Created by 晋先森 on 2020/5/17.
// Copyright © 2020 晋先森. All rights reserved.
//

import Foundation

// 254. 因子的组合
// https://leetcode-cn.com/problems/factor-combinations/

class Solution254 {

#warning("254")
// func getFactors(_ n: Int) -> [[Int]] {
//
// guard n > 1 && n % 2 == 0 else {
// return []
// }
//
// var results = [[Int]]()
//
// var i = 2
// while i * i < n {
//
// var temps = [Int]()
// if n % i == 0 {
// temps.append(<#T##newElement: Int##Int#>)
// }
//
// i += 1
// }
//
//
// }
}
Loading

0 comments on commit 65961af

Please sign in to comment.