旋转链表
CSDN “每日一练”(Python)题目
练习题目
看到题目要求,想像链表是条“蛇”,首尾相接就是“圈”,“蛇头”向右像转汽车方向盘一样向右转动k个位置即可。链表方法list.pop()尾部弹出、list.insert(0, list.pop())首部插入就算移动一个位置,循环k次即成。
代码运行效果
python完整代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
# coding: utf-8
'''旋转链表'''
def turn(head, k): #旋转链表函数。
for i in range(k): #旋转k次。
head.insert(0, head.pop()) #尾出首入,右移一个位置。
return head #返回当前链表。
input_head = ([1, 2, 3, 4, 5], 2), ([0, 1, 2], 4) #输入head节点链表和右移位置。
blank = ' ' #输出结果字符串格式化空格变量。
for x, y in input_head: #依次输出head结点列表处理结果。
input(f'\n\n\n{x},每个节点右移{y}个位置后:\n{"":.^42}\n\n{blank:8}输出:{turn(x, y)}\n\n{"The End":.^42}\n') #插值字符串格式化结果输出。
我的博文推荐:
- 排序数组中查找元素的重复起止位置(当前阅读1194)
- 柱状图中最大矩形(当前阅读1595)
- 电话拨号键盘的字母组合(当前阅读1205)
- 密码强度检测器(当前阅读1662)
- 求列表平衡点(当前阅读1694)
- 字符串统计(当前阅读1609)
- 尼姆游戏代码优化版(当前阅读815)
- 尼姆游戏(聪明版首发)(当前阅读3230)
推荐条件
点阅破千
参考文章:
上一篇: 两数相加(链表逆序存储求和数字)
下一篇:
精品文章:
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室