首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编写用于合并两个已排序链表的代码时,获取运行时加载地址错误

是指在编写代码时,尝试获取运行时加载地址时出现错误。这种错误可能是由于代码中的逻辑错误、语法错误或者编译错误导致的。

要解决这个问题,可以按照以下步骤进行排查和修复:

  1. 检查代码逻辑:首先检查代码中是否存在逻辑错误,例如变量使用错误、条件判断错误等。确保代码逻辑正确,没有潜在的错误。
  2. 检查语法错误:检查代码中是否存在语法错误,例如拼写错误、缺少分号、括号不匹配等。使用合适的集成开发环境(IDE)或代码编辑器可以帮助检测和修复语法错误。
  3. 检查编译错误:如果代码需要编译才能运行,检查编译过程中是否出现错误。查看编译器的错误提示信息,修复相关错误。
  4. 调试代码:如果以上步骤没有找到问题,可以使用调试工具逐行调试代码,观察代码执行过程中的变量值和执行路径,找出错误所在。
  5. 检查运行环境:检查代码运行的环境是否满足要求,例如是否缺少必要的库文件、是否使用了不兼容的版本等。确保代码运行的环境正确配置。
  6. 参考文档和资源:如果以上步骤仍然无法解决问题,可以查阅相关的编程文档、论坛、社区等资源,寻求帮助和解决方案。

对于合并两个已排序链表的代码,可以使用以下步骤实现:

  1. 定义一个新的链表作为结果链表。
  2. 使用两个指针分别指向两个已排序链表的头节点。
  3. 比较两个指针指向的节点的值,将较小的节点添加到结果链表中,并将指针向后移动一位。
  4. 重复步骤3,直到其中一个链表遍历完毕。
  5. 将剩余未遍历完的链表直接添加到结果链表的末尾。
  6. 返回结果链表。

这样就实现了合并两个已排序链表的代码。

关于云计算领域的相关名词词汇,以下是一些常见的概念和推荐的腾讯云产品:

  1. 云计算(Cloud Computing):一种通过网络提供计算资源和服务的模式,包括计算、存储、网络等。
  2. 前端开发(Front-end Development):负责开发网站或应用程序的用户界面部分,通常使用HTML、CSS和JavaScript等技术。
  3. 后端开发(Back-end Development):负责开发网站或应用程序的服务器端部分,处理数据存储、业务逻辑等。
  4. 软件测试(Software Testing):通过执行测试用例来评估软件质量和功能的过程,包括单元测试、集成测试、系统测试等。
  5. 数据库(Database):用于存储和管理数据的系统,常见的数据库类型包括关系型数据库(如MySQL)和NoSQL数据库(如MongoDB)。
  6. 服务器运维(Server Administration):负责管理和维护服务器的运行,包括安装、配置、监控和故障排除等。
  7. 云原生(Cloud Native):一种构建和运行应用程序的方法,利用云计算的优势,如弹性扩展、容器化、微服务架构等。
  8. 网络通信(Network Communication):在计算机网络中,实现数据传输和通信的技术和协议,如TCP/IP、HTTP、WebSocket等。
  9. 网络安全(Network Security):保护计算机网络和系统免受未经授权的访问、攻击和数据泄露的技术和措施。
  10. 音视频(Audio and Video):涉及音频和视频处理、编码、传输和播放等技术,如音视频编解码器、流媒体等。
  11. 多媒体处理(Multimedia Processing):处理和编辑多媒体数据,如图像处理、音频处理、视频编辑等。
  12. 人工智能(Artificial Intelligence):模拟人类智能的技术和方法,包括机器学习、深度学习、自然语言处理等。
  13. 物联网(Internet of Things,IoT):将物理设备和传感器连接到互联网,实现设备之间的通信和数据交换。
  14. 移动开发(Mobile Development):开发移动应用程序的过程,包括iOS和Android平台的开发。
  15. 存储(Storage):用于存储和管理数据的技术和设备,包括云存储、分布式文件系统等。
  16. 区块链(Blockchain):一种去中心化的分布式账本技术,用于记录交易和数据,具有安全性和可追溯性。
  17. 元宇宙(Metaverse):虚拟现实和增强现实的进一步发展,创造出一个虚拟的、与现实世界相互交互的数字空间。

以上是对于问答内容的完善和全面的答案,希望能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

图解算法学习笔记

大O表示法指出了算法最糟糕情况下运行时间 第二章,选择排序 2.1,内存工作原理 在计算机中,存储多项数据,有两种基本方式-数组和链表。但它们并非适用于所有情形。...在链表中,元素并非靠在一起,你无法迅速计算出第五个元素内存 地址,而必须先访问第一个元素以获取第二个元素地址,再访问第二个元素以获取第三个元素 地址,以此类推,直到访问第五个元素。...需要存储多个元素,可使用数组或链表。 数组元素都在一起。 链表元素是分开,其中每个元素都存储了下一个元素地址。 数组读取速度很快。 链表插入和删除速度很快。...还有一种名为合并排序( merge sort) 排序算法,其运行时间为O(n log n),比选择排序快得多!快速排序情况比较棘手,在最糟情况下,其运行时间为O(n2)。与选择排序一样慢!...实现快速排序时,请随机地选择用作基准值元素。快速排序平均运行时间为O(n log n)。 大O表示法中常量有时候事关重大,这就是快速排序合并排序原因所在。

1.6K20

通过示例学 Golang 2020 中文版【翻译完成】

文件 列出所有环境变量 设置或取消设置或获取环境变量 检查是否设置了环境变量 检测操作系统 获取主机名 返回退出状态代码 执行操作系统/系统命令 获取当前用户名 获取当前用户主目录 加载.env或环境文件...404(找不到资源)状态代码 在 HTTP 响应中返回 401(未授权)状态代码 在 HTTP 响应中返回 403(禁止)状态代码 在 HTTP 响应中返回 200(OK)状态代码 返回 201(创建...比较错误错误相等性 从错误错误断言获取基础类型 错误包装和取消包装 忽略错误 数据结构 所有数据结构 队列 栈 集合实现 链表 双向链表 二叉查找树 迭代二叉查找树 堆 最小堆 最大堆 TRIE...在链表中删除正数第k个节点 在单链表中删除倒数第k个节点 反转双向链表 相加两个链表表示数字 反转链表 反转给定链表k组中节点 交换链表中节点对 将排序链表转换为平衡 BST 动态规划...通用程序 中缀到后缀转换 后缀表达式求值 排序算法 堆排序 插入排序 选择排序 冒泡排序 网络 验证 IP 地址 检查 IP 地址是 IPV4 还是 IPV6 从传入 HTTP 请求中获取

6.2K50
  • malloc 背后虚拟内存 和 malloc实现原理

    进程段 每个 Linux 程序都有一个运行时内存映像,也就是各个段布局,简单如下图所示。 注意上图只是一个相对位置图,实际上这些段并不是相邻。主要段包括只读代码段、读写段、运行时堆、用户栈。....text: 编译程序机器代码。 .rodata: 只读数据。 .data: 初始化全局和静态变量。局部变量保存在栈上。...2、 p=0,表示前一个chunk为空闲,prev_size才有效 3、p=1,表示前一个chunk正在使用,prev_size无效 p主要用于内存块合并操作;ptmalloc 分配第一个块总是将...large bins中每一个bin分别包含了一个给定范围内chunk,其中chunk按大小递减排序,大小相同则按照最近使用时间排列。 两个毗连空闲chunk会被合并成一个空闲chunk。...使用 mmap()直接映射 chunk 在释放直接解除映射,而不再属于进程内存空间。任何对该内存访问都会产生段错误

    41820

    Go语言中常见100问题-#9 Being confused about when to use generics

    简单来说,就是编写具有可以稍后指定并在需要实例化类型代码。注意泛型与接口区别,泛型是在编译确定类型,接口是在运行时。对于什么时候该使用泛型,什么时候不该使用泛型,很多人并不是很清楚。...函数接受任何类型作为入参,意味着正在失去Go作为静态语言一些优势。并且对类型进行断言检查是在运行时而不是编译完成,因此如果提供类型未知,还需要返回错误信息。...提供类型参数称为实例化,这个工作是在编译完成,将类型安全作为Go语言核心功能一部分,同时避免了运行时开销。 回到 getKeys 函数,现在采用类型参数编写一个可以接受任何类型map通用版本。...例如,调用方可以编写如下代码。...例如,合并两个通道函数,需要支持任意数据类型通道。可以使用类型参数表示通道类型。

    46620

    Java程序员必备技能《上》

    算法: 排序算法:如冒泡排序、插入排序、选择排序、快速排序、归并排序等。 搜索算法:如线性搜索、二分搜索、深度优先搜索(DFS)和广度优先搜索(BFS)。 递归与回溯:用于解决复杂问题重要技术。...数据结构与算法应用:在实际问题中,如优化算法、解决实际工程应用问题等。 掌握数据结构与算法有助于编写出高效、可维护代码,解决各种复杂问题。...类加载机制、双亲委派模式、打破双亲委派模型、自定义类加载运行时数据区: 可以适当了解一下JDK各版本区别 JVM 将内存分为不同区域,包括方法区、堆、栈、程序计数器和本地方法栈。...内存模型(Memory Model): Java 内存模型定义了多线程并发访问内存可见性、有序性和原子性规则。 理解内存模型对编写正确并发代码至关重要。...commit:将暂存区更改提交到本地仓库。 push:将本地提交推送到远程仓库。 pull:从远程仓库拉取最新更改到本地。 fetch:从远程仓库获取最新提交但不合并到当前分支。

    18410

    OS存储器管理(一)

    (过程) 接下来,将指令与数据捆绑到内存地址,可以在以下步骤任何一步中执行: 编译:MS-DOSCOM格式程序 加载:编译器生成可重定位代码 执行时:进程在执行时可以从一个内存段移到另一内存段,...运行时从虚拟地址映射到物理地址硬件设备称为内存管理单元(MMU) 用户进程所生成地址在送交内存之前,都将加上重定位寄存器值。 用户程序处理是逻辑地址,它不会看到真实物理地址。...重定位方式: 静态重定位:目标代码装入内存,一次性进行逻辑地址到物理地址地址转换。 动态重定位:目标代码装入内存,先不进行地址转换(即原代码装入),在执行时,再实施地址转换。...内存分配方式:连续分配和非连续分配 内存通常分为两个区域: 一个用于驻留操作系统,常与中断向量一起放在低内存 另一个用于用户进程,常放在高内存。 ?...分配:查空闲分区链表,找到第一个足够大分区,将其一分为二分配之; 分配策略(算法):首次适应算法,循环首次适应算法,最佳适应算法,最差适应算法 回收:先将回收分区与相邻空闲分区合并再修改空闲分区链表

    1.2K90

    内存都没了,还能运行程序?

    这是两个程序被先后加载到内存中情形,假如这两个程序被同时加载到内存中从 0 地址处开始执行,内存状态就如上面 c 图所示,程序装载完毕开始运行,第一个程序首先从 0 地址处开始运行,执行 JMP 24...每当进程引用内存以获取指令或读取或写入数据字,CPU 硬件都会自动将基址值添加到进程生成地址中,然后再将其发送到内存总线上。同时,它检查程序提供地址是否等于或大于变址寄存器 中值。...(可以简单理解为在杂乱无章数组中,找出具有一大长串空闲数组单元) 使用链表进行管理 另一种记录内存使用情况方法是,维护一个记录分配内存段和空闲内存段链表,段会包含进程或者是两个进程空闲区域。...在这个例子中,段链表(segment list)是按照地址排序。这种方式优点是,当进程终止或被交换,更新列表很简单。一个终止进程通常有两个邻居(除了内存顶部和底部外)。...快速匹配算法寻找一个指定代销空闲区也是十分快速,但它和所有将空闲区按大小排序方案一样,都有一个共同缺点,即在一个进程终止或被换出,寻找它相邻块并查看是否可以合并过程都是非常耗时

    1.1K10

    内存:一个能让程序跑起来东西

    这是两个程序被先后加载到内存中情形,假如这两个程序被同时加载到内存中从 0 地址处开始执行,内存状态就如上面 c 图所示,程序装载完毕开始运行,第一个程序首先从 0 地址处开始运行,执行 JMP 24...每当进程引用内存以获取指令或读取或写入数据字,CPU 硬件都会自动将基址值添加到进程生成地址中,然后再将其发送到内存总线上。同时,它检查程序提供地址是否等于或大于变址寄存器 中值。...(可以简单理解为在杂乱无章数组中,找出具有一大长串空闲数组单元) 使用链表进行管理 另一种记录内存使用情况方法是,维护一个记录分配内存段和空闲内存段链表,段会包含进程或者是两个进程空闲区域。...在这个例子中,段链表(segment list)是按照地址排序。这种方式优点是,当进程终止或被交换,更新列表很简单。一个终止进程通常有两个邻居(除了内存顶部和底部外)。...快速匹配算法寻找一个指定代销空闲区也是十分快速,但它和所有将空闲区按大小排序方案一样,都有一个共同缺点,即在一个进程终止或被换出,寻找它相邻块并查看是否可以合并过程都是非常耗时

    1K40

    听GPT 讲Go源代码--types.go

    在处理接口类型,需要将接口类型与具体类型进行合并,以便于在运行时动态地获取类型信息。Or函数就是用于实现这个功能。 具体来说,Or函数会将两个类型成员信息合并到一个新类型中。...在使用Swap函数需要确保参数类型正确性,否则可能会引发运行时错误。 Swap函数在Go语言标准库中被广泛使用,它可以实现各种数据结构排序和重组,如数组、切片、堆等。...同时,由于Swap函数具有通用性,也可以用于编写自定义排序算法或数据结构操作。...如果使用错误,可能会导致未定义行为或崩溃。因此,通常情况下仅在高级应用程序中使用,如编写自定义垃圾回收器或内存分配器。 Load 在Go语言中,类型信息在程序运行时是由runtime包动态加载。...Go二进制文件将包含编译代码和类型信息,并且Go运行时系统可以使用该信息来执行安全类型转换、动态查找和调用函数等操作。

    26540

    java面试题汇总-基础篇

    ③用static修饰代码块,该代码块就被定义为静态代码块,静态代码块在类初始化时被执行,且执行一次。一般用于初始化一些静态成员变量值。 Switch能用什么数据类型作为参数?...equals()方法用于比较对象是否相等,默认比较是内存地址,所以要正确比较两个对象是否值相等,此方法必须被重写。...这种在运行时动态获取信息以及动态调用对象方法功能称为Java反射机制。 获取Class对象方式有哪些?...②LinkedBlockingQuene,基于链表无界阻塞队列(其实最大容量为Interger.MAX),按照FIFO排序。当使用该队列,maximumPoolSize参数可以忽略。...把对象创建和使用过程分开。 可以降低代码重复。如果创建B过程都很复杂,需要一定代码量,而且很多地方都要用到,那么就会有很多重复代码。 减少了使用者因为创建逻辑导致错误

    79510

    《图解算法》总结第1章 算法简介第2章 选择排序第3章 递归第4章 快速排序第5章 散列表第6章 广度优先搜索第7章 狄克斯特拉算法第8章 贪婪算法第9章 动态规划

    你不必给出大O运行时间,只需指出这种新数据结构查找和插入速度更快还是更慢。 选择排序 将数组元素按从小到大顺序排列。先编写一个用于找出数组中最小元素函数。...需要存储多个元素,可使用数组或链表。 数组元素都在一起。 链表元素是分开,其中每个元素都存储了下一个元素地址。 数组读取速度很快。 链表插入和删除速度很快。...第4章 快速排序 分而治之D&C工作原理: (1) 找出简单基线条件; (2) 确定如何缩小问题规模,使其符合基线条件。 练习 4.1  请编写前述sum 函数代码。...大O表示法中常量有时候事关重大,这就是快速排序合并排序原因所在。 比较简单查找和二分查找,常量几乎无关紧要,因为列表很长,O (log n )速度比O (n )快得多。...散列表可用于缓存数据(例如,在Web服务器上)。 散列表非常适合用于防止重复。 第6章 广度优先搜索 广度优先搜索最终代码如下。

    1.6K90

    2万字|30张图带你领略glibc内存管理精髓

    SeedService从kafka获取feed流转、评、赞信息,加载到内存。...当进程在访问这段地址,通过查找页表,发现虚拟内存对应页没有在物理内存中缓存,则产生"缺页",由内核缺页异常处理程序处理,将文件对应内容,以页为单位(4096)加载到物理内存,注意是只加载缺页,但也会受操作系统一些调度策略影响...prev_size主要用于相邻空闲chunk合并。...p=0,表示前一个chunk为空闲,prev_size才有效 p=1,表示前一个chunk正在使用,prev_size无效 p主要用于内存块合并操作;ptmalloc 分配第一个块总是将p设为1...large bins中每一个bin分别包含了一个给定范围内chunk,其中chunk按大小递减排序,大小相同则按照最近使用时间排列。 两个毗连空闲chunk会被合并成一个空闲chunk。

    1.4K32

    普林斯顿算法讲义(一)

    点击程序名称以访问 Java 代码;点击参考号以获取简要描述;阅读教材以获取详细讨论。...当你声明一个变量为 final ,你承诺只能在初始化程序或构造函数中为其分配一个值。试图修改 final 变量代码会导致编译错误。 Vector.java 是一个用于向量不可变数据类型。...编写一个代码片段,确定一个袋子是否包含任何重复项目。使用两个嵌套迭代器。 检查三重复。 编写一个代码片段,确定一个袋子是否包含至少三次重复项目。使用三重嵌套迭代器。 相等。...对象引用通常是一个内存地址,因此在 64 位机器上使用 8 字节内存。 链表. 嵌套非静态(内部)类,比如我们Node类,需要额外 8 字节开销(用于引用封闭实例)。 数组....给定两个包含 N 个 64 位整数数组,设计一个算法来打印出两个列表中都出现所有元素。输出应按排序顺序排列。你算法应在 N log N 时间内运行。提示:归并排序,归并排序合并

    12410

    腾讯牛逼,连环追问我基础细节!

    冒泡排序(Bubble Sort):通过重复地遍历待排序序列,比较相邻两个元素,若它们顺序错误就交换它们,直到没有需要交换元素为止。...归并排序(Merge Sort):将两个两个以上有序表合并成一个新有序表。 希尔排序(Shell Sort):是插入排序一种更高效改进版本。...冒泡排序(Bubble Sort)是一种简单排序算法,其基本思路是通过重复地遍历待排序序列,比较相邻两个元素,若它们顺序错误就交换它们,直到没有需要交换元素为止。...当浏览器加载一个网页,它会解析HTML、CSS和JavaScript代码,并生成DOM(文档对象模型)树。...15.聊小程序WebView预加载、热更新机制 小程序预加载有三种方式实现: 提前请求:在用户可能导航到目标页面之前,提前发送网络请求获取页面资源。

    20910

    常用编程思想与算法

    涉及n个城市,需要执行n!(n阶乘)次操作才能计算出结果。因此运行时间为O(n!),即阶乘时间。 选择排序   很多算法仅在数据经过排序后才管用。...当然很多语言都内置了排序算法,因此你基本 上不用从头开始编写自己版本。   数组与链表   需要将数据存储到内存,你请求计算机提供存储空间,计算机给你一个存储地址。...链表每个元素都存储了下一个元素地址,从而使一系列随机内存地址串在一起。在链表中添加元素很容易:只需将其放入内存,并将其地址存储到前一个元素中,删除也是如此。...而合并排序总是O(n*log n)。但是这不是绝对合并排序常量总是大于快速排序,所以一般情况下认为快速排序更快。   ...处理冲突方式 很多,最简单办法如下:如果两个键映射到了同一个位置,就在这个位置存储一个链表。如果一个散列表所有的值都放在第一个内存中呢,那和一个链表又有什么区别呢?

    81610

    学会这14种模式,你可以轻松回答任何编码面试问题

    滑动窗口 两个指针或迭代器 快指针或慢指针或迭代器 合并间隔 循环排序 就地反转链表 Tree BFS Tree DFS 两堆 子集 修改后二进制搜索 前K个元素 K路合并 拓扑排序 让我们开始吧!...在排序数组或链表中搜索对时,两个指针通常很有用;例如,当你必须将数组每个元素与其他元素进行比较。 需要两个指针,因为仅使用指针,你将不得不不断地循环遍历数组以找到答案。...在许多情况下,两个指针可以帮助你找到具有更好空间或运行时复杂性解决方案。 确定何时使用"两指针"方法方法: 在处理排序数组(或链接列表)并且需要找到一组满足某些约束元素,它将遇到一些问题。...处理循环链表或数组,此方法非常有用。 通过以不同速度移动(例如,在循环链表中),该算法证明两个指针必然会合。一旦两个指针都处于循环循环中,快速指针应捕获慢速指针。...K-way合并模式问题: 合并K个排序列表(中) K对最大和(硬) 14、拓扑排序 拓扑排序用于查找相互依赖元素线性顺序。

    2.9K41

    程序设计导论(Python)读书笔记

    参考链接: 用于查找文件哈希Python程序 Python语言实践  函数和模块  程序设计基本元素 常见错误: Python2中默认编码格式是 ASCII 格式,在没修改编码格式无法正确打印汉字...i in range(n): // if a[i] == 0: // count +=1单循环线性对数型nlog n递归和分而治之合并排序算法二次型n^2for in range(n): // for...一个字符串包含一个指向字符串中自服务连续存储内存地址引用和字符串长度。性能:拼接一个字符到一个字符串需要线性型运行时间,而拼接两个字符串所需时间正比于结果字符串长度。...排序和查找 快速算法之二分查找算法 线性-对数之间鸿沟 暴力算法 二分查找算法程序运行时间为对数型,当程序运行时间为参数n线性函数,其运行时间正比于n值,一个对数运行时间仅正比与n二进制位数...反相递增函数,物体称重法,排序数组,异常过滤器 插入排序算法:运行时间对输入值敏感。运行时间为二次型,可处理任何可比较数据类型。

    78830

    《图解算法》系列学习(一)

    一般计算机都会预留比较多内存让其它数组存进来,但是这也是对内存一种浪费。 链表链表每一个元素都储存了下一个元素地址,从而使一系列随机内存地址串在一起。...所以在链表添加元素很容易,只需将其放入内存,并将其地址储存在前一个元素中。 所以链表读取速度慢,但是插入速度快;数组插入速度慢。...提示:编写涉及数组递归函数,基线条件通常是数组为空或只包含一个元素。陷入困境,请检查基线条件是不是这样。 例如:请编写一个递归函数来计算列表包含元素数。...快速排序步骤 (1)选择一个基准值 (2)将数组分为两个子数组:小于基准值元素和大于基准值元素。...(3)对这两个数组进行快速排序【按步骤一来】 以此类推,对其它数组都进行快速排序 下面是快速排序代码: def quicksort(array): if len(array) < 2:

    61600

    Java基础-甲骨文系列

    JVM在加载时候会执行static代码块。static代码块常用于初始化静态变量。static代码块只会被执行一次。 修饰内部类。static内部类可以不依赖外部类实例对象而被实例化。...如果变量是基础数据类型,==用于比较其对应值是否相等。如果变量指向是对象,==用于比较两个对象是否指向同一块存储空间。Eg: 两个String比较用==比较地址。...Class类:可获得类属性方法 Field类:获得类成员变量 Method类:获取方法信息 Construct类:获取构造方法等信息 简述注解 Java 注解用于为 Java 代码提供元数据。...作为元数据,注解不直接影响你代码执行,但也有一些类型注解实际上可以用于这一目的。 其可以用于提供信息给编译器,在编译阶段给软件提供信息进行相关处理,在运行时处理写相应代码,做对应操作。...equals和hashCode这两个方法都是从object类中继承过来,equals主要用于判断对象内存地址引用是否是同一个地址;hashCode根据定义哈希规则将对象内存地址转换为一个哈希码。

    84510

    【旧文重发 | 04】IC基础知识

    链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素数据域,另一个是存储下一个结点地址指针域。...线性搜索 二进制搜索 插入排序 合并排序排序 算法时间复杂度代表了算法运行时间,n代表输入算法参数数量。...线性搜索 二进制搜索 插入排序 合并排序排序 空间复杂度概念类似于时间复杂度,但是衡量值是算法运行时所需要内存空间。...rsync仅移动文件中更改那些部分,因此可以将需要复制数据量减至最少。 “ rsync”在发送和接收数据使用某些压缩和解压缩方法,进步减小带宽消耗。...特殊字符是为正则表达式用于搜索,具备特殊含义元字符。示例:,^,$,(),[],|,& 量词用于指定匹配前面的正则表达式“频率”。示例:*, +, ?, {} 锚点指正则匹配匹配位置。

    91930
    领券