From 774700a83c3cd8099b9daff7bfcd633aac015b04 Mon Sep 17 00:00:00 2001 From: ehlxr Date: Mon, 20 Jun 2022 20:26:14 +0800 Subject: [PATCH] update --- main.go | 14 -------------- src/palindrome.go | 2 +- src/palindrome_test.go | 2 +- src/reverse.go | 14 +++++++------- src/reverse_test.go | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 src/reverse_test.go diff --git a/main.go b/main.go index b2c092c..ecfadd1 100644 --- a/main.go +++ b/main.go @@ -3,23 +3,9 @@ package main import "fmt" func main() { - // node5 := &ListNode{Val: 5, Next: nil} - // node4 := &ListNode{Val: 4, Next: node5} - // node3 := &ListNode{Val: 3, Next: node4} - // node2 := &ListNode{Val: 2, Next: node3} - // node1 := &ListNode{Val: 1, Next: node2} - // root := &ListNode{Val: 0, Next: node1} - // fmt.Printf("%v\n", root) - // - // fmt.Printf("%v\n", Reverse(root)) - // fmt.Printf("%v\n", ReverseRec(root)) - // fmt.Printf("%v\n", ReverseKGroup(root, 2)) - s := "Hello 你好" fmt.Println(s[2], s[6]) rs := []rune(s) println(string(rs[6])) - // s := "babad" - // println(LongestPalindrome(s)) } diff --git a/src/palindrome.go b/src/palindrome.go index 6b7f582..2250675 100644 --- a/src/palindrome.go +++ b/src/palindrome.go @@ -1,7 +1,7 @@ package src /* 给你一个字符串 s,找到 s 中最长的回文子串 */ -func LongestPalindrome(s string) string { +func longestPalindrome(s string) string { var res string for i := 0; i < len(s); i++ { // 回文串长度为奇数 diff --git a/src/palindrome_test.go b/src/palindrome_test.go index 623b795..800f6aa 100644 --- a/src/palindrome_test.go +++ b/src/palindrome_test.go @@ -7,5 +7,5 @@ import ( func TestLongestPalindrome(t *testing.T) { s := "babad" - fmt.Printf("LongestPalindrome of %s is %s\n", s, LongestPalindrome(s)) + fmt.Printf("LongestPalindrome of %s is %s\n", s, longestPalindrome(s)) } diff --git a/src/reverse.go b/src/reverse.go index a58f24f..9dea7af 100644 --- a/src/reverse.go +++ b/src/reverse.go @@ -1,6 +1,6 @@ package src -func Reverse(root *ListNode) *ListNode { +func reverse(root *ListNode) *ListNode { var pre, tmp *ListNode cur := root for cur != nil { @@ -14,12 +14,12 @@ func Reverse(root *ListNode) *ListNode { } /* 递归反转链表 */ -func ReverseRec(root *ListNode) *ListNode { +func reverseRec(root *ListNode) *ListNode { if root == nil || root.Next == nil { return root } - res := ReverseRec(root.Next) + res := reverseRec(root.Next) root.Next.Next = root root.Next = nil @@ -27,7 +27,7 @@ func ReverseRec(root *ListNode) *ListNode { } /* K 个一组翻转链表 */ -func ReverseKGroup(root *ListNode, k int) *ListNode { +func reverseKGroup(root *ListNode, k int) *ListNode { if root == nil { return root } @@ -38,13 +38,13 @@ func ReverseKGroup(root *ListNode, k int) *ListNode { } n = n.Next } - tmp := ReverseN(root, n) - root.Next = ReverseKGroup(n, k) + tmp := reverseN(root, n) + root.Next = reverseKGroup(n, k) return tmp } /* 反转链表到指定节点 */ -func ReverseN(root *ListNode, n *ListNode) *ListNode { +func reverseN(root *ListNode, n *ListNode) *ListNode { var pre, tmp *ListNode cur := root for cur != n { diff --git a/src/reverse_test.go b/src/reverse_test.go new file mode 100644 index 0000000..7322de5 --- /dev/null +++ b/src/reverse_test.go @@ -0,0 +1,37 @@ +package src + +import ( + "fmt" + "testing" +) + +var root *ListNode +var node2 *ListNode + +func TestMain(t *testing.M) { + node5 := &ListNode{Val: 5, Next: nil} + node4 := &ListNode{Val: 4, Next: node5} + node3 := &ListNode{Val: 3, Next: node4} + node2 = &ListNode{Val: 2, Next: node3} + node1 := &ListNode{Val: 1, Next: node2} + root = &ListNode{Val: 0, Next: node1} + fmt.Printf("%v\n", root) + + t.Run() +} + +func TestReverse(t *testing.T) { + fmt.Printf("%v\n", reverse(root)) +} + +func TestReverseRec(t *testing.T) { + fmt.Printf("%v\n", reverseRec(root)) +} + +func TestReverseKGroup(t *testing.T) { + fmt.Printf("%v\n", reverseKGroup(root, 2)) +} + +func TestReverseN(t *testing.T) { + fmt.Printf("%v\n", reverseN(root, node2)) +}