字符串轮转。给定两个字符串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;temp=temp.Next{ num:=temp.Val; for i:=temp;i!=nil &&
i.Next!=nil;{ if(i.Next.Val==num){ i.Next=i.Next.Next; }else{ i=i.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;temp=temp.Next{ length++; } for i:=length-k;i>0;i--{
head=head.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.Val=node.Next.Val;
node.Next=node.Next.Next; }
 

技术
©2019-2020 Toolsou All rights reserved,
某东14薪变16薪,是诚意还是套路?HashMap详解os模块的简单使用html写樱花树,写樱花树的作文浏览器内核(理解)java四大函数式接口(重点,简单)让人意想不到的Python之樱花树(turtle库的华丽样式)计算机网络---计算机网络基本概念(协议、体系)06【若依框架解读】数据范围过滤--太牛了