规范格式

This commit is contained in:
YDZ
2020-08-07 15:50:06 +08:00
parent 854a339abc
commit 4e11f4028a
1438 changed files with 907 additions and 924 deletions

View File

@ -0,0 +1,29 @@
package leetcode
func isIsomorphic(s string, t string) bool {
strList := []byte(t)
patternByte := []byte(s)
if (s == "" && t != "") || (len(patternByte) != len(strList)) {
return false
}
pMap := map[byte]byte{}
sMap := map[byte]byte{}
for index, b := range patternByte {
if _, ok := pMap[b]; !ok {
if _, ok = sMap[strList[index]]; !ok {
pMap[b] = strList[index]
sMap[strList[index]] = b
} else {
if sMap[strList[index]] != b {
return false
}
}
} else {
if pMap[b] != strList[index] {
return false
}
}
}
return true
}

View File

@ -0,0 +1,58 @@
package leetcode
import (
"fmt"
"testing"
)
type question205 struct {
para205
ans205
}
// para 是参数
// one 代表第一个参数
type para205 struct {
one string
two string
}
// ans 是答案
// one 代表第一个答案
type ans205 struct {
one bool
}
func Test_Problem205(t *testing.T) {
qs := []question205{
question205{
para205{"egg", "add"},
ans205{true},
},
question205{
para205{"foo", "bar"},
ans205{false},
},
question205{
para205{"paper", "title"},
ans205{true},
},
question205{
para205{"", ""},
ans205{true},
},
}
fmt.Printf("------------------------Leetcode Problem 205------------------------\n")
for _, q := range qs {
_, p := q.ans205, q.para205
fmt.Printf("【input】:%v 【output】:%v\n", p, isIsomorphic(p.one, p.two))
}
fmt.Printf("\n\n\n")
}

View File

@ -0,0 +1,50 @@
# [205. Isomorphic Strings](https://leetcode.com/problems/isomorphic-strings/)
## 题目
Given two strings s and t, determine if they are isomorphic.
Two strings are isomorphic if the characters in s can be replaced to get t.
All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself.
Example 1:
```c
Input: s = "egg", t = "add"
Output: true
```
Example 2:
```c
Input: s = "foo", t = "bar"
Output: false
```
Example 3:
```c
Input: s = "paper", t = "title"
Output: true
```
Note:
You may assume both s and t have the same length.
## 题目大意
这道题和第 290 题基本是一样的。第 290 题是模式匹配,这道题的题意是字符串映射,实质是一样的。
给定一个初始字符串串,判断初始字符串是否可以通过字符映射的方式,映射到目标字符串,如果可以映射,则输出 true反之输出 false。
## 解题思路
这道题做法和第 290 题基本一致。