当前位置: 首页 > news >正文

益阳做网站怎么便宜石家庄关键词排名首页

益阳做网站怎么便宜,石家庄关键词排名首页,个体营业执照可以做网站搞推广吗,电商网站建设与管理 教案1、填充每个节点的下一个右侧节点指针(树,深度优先搜索) 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *rig…

1、填充每个节点的下一个右侧节点指针(树,深度优先搜索)

给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:

struct Node {

int val;

Node *left;

Node *right;

Node *next;

}

填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL

初始状态下,所有 next 指针都被设置为 NULL

 

进阶:

  • 你只能使用常量级额外空间。
  • 使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。

 

示例:

https://img-service.csdnimg.cn/img_convert/27903dce19b8e06520fe489475e37ae7.png

输入:root = [1,2,3,4,5,6,7]

输出:[1,#,2,3,#,4,5,6,7,#]

解释:给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化的输出按层序遍历排列,同一层节点由 next 指针连接,'#' 标志着每一层的结束。

 

提示:

  • 树中节点的数量少于 4096
  • -1000 <= node.val <= 1000

选项代码:

class Node(object):def __init__(self, val, left, right, next):self.val = valself.left = leftself.right = rightself.next = next
class Solution(object):def connect(self, root):""":type root: Node:rtype: Node"""if not root:returnnode = [root]while node:l = len(node)for n in range(l):cur = node.pop(0)if n < (l - 1):cur.next = node[0]if cur.left:node.append(cur.left)if cur.right:node.append(cur.right)return root

2、搜索插入位置(数组,二分查找)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例 1:

输入: [1,3,5,6], 5输出: 2

示例 2:

输入: [1,3,5,6], 2输出: 1

示例 3:

输入: [1,3,5,6], 7输出: 4

示例 4:

输入: [1,3,5,6], 0输出: 0

选项代码:

class Solution:def searchInsert(self, nums, target):l, r = int(0), len(nums) - 1while l < r:mid = int((l + r) / 2)if nums[mid] < target:l = mid + 1else:r = midif nums[l] < target:return l + 1return l
if __name__ == '__main__':s = Solution()print (s.searchInsert( [1,3,5,6], 7))

3、旋转链表(链表,双指针)

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1

https://img-service.csdnimg.cn/img_convert/c0d8ae472058ab78d44488d3d18b7d34.jpeg

输入:head = [1,2,3,4,5], k = 2
输出:[4,5,1,2,3]

示例 2

https://img-service.csdnimg.cn/img_convert/b36376b20ad1074341ffc8bca9a32eca.jpeg

输入:head = [0,1,2], k = 4
输出:[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500] 
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109

选项代码:

class ListNode(object):def __init__(self, x):self.val = xself.next = None
class LinkList:def __init__(self):self.head=Nonedef initList(self, data):self.head = ListNode(data[0])r=self.headp = self.headfor i in data[1:]:node = ListNode(i)p.next = nodep = p.nextreturn rdef    convert_list(self,head):ret = []if head == None:returnnode = headwhile node != None:ret.append(node.val)node = node.nextreturn ret
class Solution(object):def rotateRight(self, head, k):""":type head: ListNode:type k: int:rtype: ListNode"""if not head or k == 0:return headslow = fast = headlength = 1while k and fast.next:fast = fast.nextlength += 1k -= 1if k != 0:k = (k + length - 1) % lengthreturn self.rotateRight(head, k)else:while fast.next:fast = fast.nextslow = slow.nextreturn self.rotate(head, fast, slow)def rotate(self, head, fast, slow):fast.next = headhead = slow.nextslow.next = Nonereturn head
# %%
l = LinkList()
list1 =  [0,1,2]
k = 4
l1 = l.initList(list1)
s = Solution()
print(l.convert_list(s.rotateRight(l1, k)))

http://www.yayakq.cn/news/785124/

相关文章:

  • 主题 外贸网站 模板下载做网站知名的学习网站
  • 服装网站模板下载如何用html制作百度首页
  • 网站qq号获取WordPress腾讯对象存储
  • 查询海外whois的网站网站管理设置
  • 网页设计与制作教程电子版pdf网站的优化用什么软件
  • 淘宝客网站如何做推广方案有什么网站可以做运动
  • 电子商务网站的建设过程html5手机网站开发教程
  • 河北移动端网站建设网站套站是什么意思
  • seo sem 外贸建站 网站建设 文化墙设计电商代运营公司排名
  • 比较好的手机网站网页网站公司如何做备份
  • 在线做汉字头像的网站网站的项目建设周期
  • 织梦者网站模板网站源码制作步骤
  • 网站备案邮寄资料中铁建设集团有限公司中南分公司
  • 专门做旅游的视频网站常州网站制作
  • 柳州市住房和城乡建设局网站怎么优化
  • 商城网站免费模板教育模板网站建设
  • 如何制作免费永久网站阿里云的wordpress如何设置
  • 在新西兰做兼职的网站dede网站禁止ip访问
  • 网站设计需从哪些方面考虑泗县网站建设与推广培训
  • 南京企业自助建站系统设计制作小车二教案
  • 网站建设的请示wordpress创建表格
  • 域名 和网站有什么区别吗北京企业建站系统费用
  • 做期货的一般看什么网站太原网站定制
  • 网站建设主要工作由哪些河南建一个网站大概要多少钱
  • 芜湖哪家公司做网站不错自己怎么建设一个网站
  • 做相册视频的网站重庆市建设工程安全网站
  • 官方网站建设账务处理济南好的网站建设公司排名
  • 诺盾网站建设做网站那种语言好
  • 郴州做网站潍坊网站制作保定公司电话
  • 网页设计与制作代做百度关键词排名优化