网站建设的辅助软件,前端后端分别是什么意思,建站源码程序,爱设计ppt官网字符串轮转。给定两个字符串s1和s2#xff0c;请编写代码检查s2是否为s1旋转而成#xff08;比如#xff0c;waterbottle是erbottlewat旋转后的字符串#xff09;。
示例1
输入#xff1a;s1 waterbottle, s2 erbottlewat 输出#xff1a;T…字符串轮转。给定两个字符串s1和s2请编写代码检查s2是否为s1旋转而成比如waterbottle是erbottlewat旋转后的字符串。
示例1
输入s1 waterbottle, s2 erbottlewat 输出True
示例2
输入s1 aa, aba 输出False
func isFlipedString(s1 string, s2 string) bool {return len(s1) len(s2) strings.Contains(s2 s2, s1)
} 编写代码移除未排序链表中的重复节点。保留最开始出现的节点。
示例1: 输入[1, 2, 3, 3, 2, 1]输出[1, 2, 3]
把每一个节点后的相同节点全删掉即可。
/*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func removeDuplicateNodes(head *ListNode) *ListNode {;for temp:head;temp!nil;temptemp.Next{num:temp.Val;for i:temp;i!nil i.Next!nil;{if(i.Next.Valnum){i.Nexti.Next.Next;}else{ii.Next}} }return head;
} 实现一种算法找出单向链表中倒数第 k 个节点。返回该节点的值。
注意本题相对原题稍作改动
示例
输入 1-2-3-4-5 和 k 2 输出 4
/*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func kthToLast(head *ListNode, k int) int {length:0;for temp:head;temp!nil;temptemp.Next{length;}for i:length-k;i0;i--{headhead.Next;}return head.Val;
} 实现一种算法删除单向链表中间的某个节点即不是第一个或最后一个节点假定你只能访问该节点。 示例
输入单向链表a-b-c-d-e-f中的节点c 结果不返回任何数据但该链表变为a-b-d-e-f
思路把值修改为下一个节点的值并删除下一个节点。
/*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func deleteNode(node *ListNode) {node.Valnode.Next.Val;node.Nextnode.Next.Next;
}