链表coding

【天线与电波传播】电波传播部分 第7章 电波传播的基础知识3 菲涅尔区与菲涅尔带的基本知识 阅读详情

206. 反转链表 - 力扣(LeetCode)

 return reverse(cur,tmp);//注意写法!

24. 两两交换链表中的节点 - 力扣(LeetCode)

ListNode* dummy=new ListNode(0);//注意这个用法!

24. 两两交换链表中的节点 - 力扣(LeetCode)

你的大体思路是非常清晰和准确的!使用虚拟头节点(dummy node)和双指针(c1, c2)是解决合并有序链表最标准的做法。

你甚至想到了一步非常聪明的优化:当其中一个链表为空时,直接把另一个链表剩下的部分接上去(cur->next=c2; c2=NULL;)。

但是,你的代码中存在一个致命的遗漏,会导致合并出来的链表丢失数据。

🚨 核心 Bug 分析:忘记移动游标 cur

在你的 while 循环内部,当你把较小的节点接到 cur->next 之后,你移动了 c1 或 c2,但是你忘记把 cur 往后移了!

这会导致什么后果?

假设你要合并 [1] 和 [2]:

  1. 第一次循环:c1 的值更小,你执行了 cur->next = c1。此时 dummy 连向了 1。然后 c1 变成了 NULL。

  2. 第二次循环:进入 if(!c1) 分支,你执行了 cur->next = c2。

    • 注意! 此时 cur 依然停留在 dummy 上!

    • 所以,你把 dummy->next 重新指向了 2。之前接上去的 1 被无情地覆盖并且丢失了。

  3. 最终返回的 dummy->next 变成了 [2],而不是完整的 [1, 2]。

修改方法:

每次给 cur->next 赋值之后,必须紧跟一句 cur = cur->next;,让这根“针”一直走到当前新链表的最尾端,准备迎接下一个节点。

💡 更优雅的写法建议

你目前使用的循环条件是 while(c1 || c2),这迫使你在循环内部去检查 if(!c1) 和 if(!c2),并且用 c2 = NULL; 这种有点 hack 的方式来强制退出循环。

在处理“合并有序”类问题(包括合并数组、归并排序)时,业界最标准、最清晰的写法是:while(c1 && c2)。

  • 当两者都有节点时,比大小,谁小就挂谁。

  • 只要有任何一个链表被遍历完了,循环立刻结束。

  • 循环结束后,直接把没走完的那个链表“一锅端”挂到 cur 的后面。

✅ 修正与优化后的代码

结合上述两点,并补上我们之前提到过的“释放 dummy 内存”的好习惯,你的代码可以优化成这样:

C++

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        ListNode* dummy = new ListNode(0);
        ListNode* cur = dummy;
        ListNode* c1 = list1;
        ListNode* c2 = list2;
        
        // 只有当两个链表都有剩余节点时,才需要比大小
        while (c1 != NULL && c2 != NULL) {
            if (c1->val < c2->val) {
                cur->next = c1;
                c1 = c1->next;
            } else {
                cur->next = c2;
                c2 = c2->next;
            }
            // 【关键修复】针眼必须往后移动,准备串下一个节点!
            cur = cur->next; 
        }
        
        // 循环结束时,必定至少有一个链表为空了。
        // 我们只需要把非空的那个链表直接挂到 cur 后面即可。
        if (c1 != NULL) {
            cur->next = c1;
        } else if (c2 != NULL) {
            cur->next = c2;
        }
        
        // 收尾工作
        ListNode* newHead = dummy->next;
        delete dummy; // 释放虚拟头节点
        return newHead;
    }
};

复杂度分析:

  • 时间复杂度: $O(M+N)$,其中 $M$ 和 $N$ 是两个链表的长度。我们最多只遍历两个链表各一次。

  • 空间复杂度: $O(1)$,我们只是在现有的节点之间修改指针(穿针引线),并没有开辟与链表长度相关的额外内存空间。

★教程1:matlab学习教程入门100例目录 ★基础入门 1.为什么要学习MATLAB 2.MATLAB安装 持续更新....... ★MATLAB基础编程语言熟悉 阅读详情

相关推荐

Arduino for ESP32-----ESP-NOW介绍及使用

ESP-NOWESP-NOW介绍ESP-NOW支持以下特性ESP-NOW技术也存在以下局限性获取ESP32的MAC地址ESP-NOW单向通信(One-way communication)ESP32单板间的双向通信一对多通信(一发多收)一对多通信(多发一收) ESP-NOW介绍 ESP-NOW是一种由Espressif开发的协议,可以让多个设备在不使用Wi-Fi的情况下相互通信。该协议类似于低功耗的2.4GHz无线连接。设备之间的配对需要在通信之前完成。配对完成后,连接是安全的、点对点的,不需要握手。这意味着

Better_man1的博客 2万+

Coding-链表

linklist(链表) 链表也是面试中常问道的题目,链表定义简单很容易考察面试者的水平,比如在数组中很简单的题目转换成链表就有很大的变动。例如链表的插入和归并排序、查找倒数第k个节点等. 1.回文链表(234) 请判断一个链表是否为回文链表 class Solution(object): def isPalindrome(self, head): reverse, f...

Datawhale 510

基于ZYNQ7020芯片(黑金开发板AX7020)之AXI-FULL DDR的PL与PS交互操作。

在该工程中我们使用了PS端的串口接收功能,PS端串口接收和发送分别有一个64字节的FIFO,但是因为串口接收阈值设置为16,所以固定接收16个字节数据后才会发生中断。此测试工程得到以前知识的总结和各大网友的支持,只希望可以为学习的你更进一步,大家一起学习才是真的开心。加油,国产芯片之路。

landyjzlai的博客 3189

【coding】链表

leetcode-206-从尾到头打印链表leetcode-19-删除链表的倒数第N个节点leetcode83-删除链表中重复元素leetcode-82-删除链表中重复元素IIleetcode-24-两两交换链表中的节点leetcode-25-k个一组翻转链表[leetcode-92-反转链表范围 II](https://leetcode-cn.com/problems/reverse-link...

SmileLing的专栏 535

Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

Mr_XiMu的博客 2818

R3LIVE 1.0 适配 Velodyne 16线雷达:3步配置解决150米漂移问题

本文详细解析了R3LIVE 1.0适配Velodyne 16线雷达时出现的150米漂移问题,并提供三步配置方案。通过调整雷达类型设置、运动补偿与时间对齐、视觉-激光联合优化等关键参数,有效解决了系统漂移问题,提升定位精度。适用于机器人定位与建图领域的开发者。

weixin_29054195的博客 268

算法学习-Day12-链表coding

思想:不使用另外的空间,遍历链表,将当前节点cur复制成cur‘,同时将cur’作为cur的next,即遍历链表,将链表从1->2->3 改成 1->1'->2->2'->3->3',重新遍历链表,设置radom,将cur‘的random设置为cur的random的next即可,最后,分离链表即可。思想:使用六个变量,分别记录小于区的头和尾、等于区的头和尾和大于区的头和尾,遍历链表,小于的加入小于区,等于的加入等于区,大于的加入大于区,最后将三个区的头尾相连。例:1->2->3->2->1。

weixin_53239337的博客 300

AM驱动架构—优质Mini-LED显示技术解决方案

(VR)和增强现实(AR)设备:MiniLED背光驱动方案适用于虚拟现实和增强现实设备中的显示技术,通过高亮度和高对比度的显示效果,创造更逼真的虚拟体验此外,MiniLED背光还能够实现更快的响应速度,减少图像残影,使得用户的动作在虚拟环境中更加流畅自然。以其出色的性能和广泛的应用前景备受关注是实现MiniLED显示效果的重要环节。1)更高的亮度和对比度:尺寸更小,可以在同样面积的显示屏上配置更多的LED,并且通过独立控制每一个MiniLED,可以实现更高的亮度和更细致的对比度,使得显示画面更加鲜明清晰。

isweekDN的博客 2762

链表操作完全指南:coding-problems项目中的指针技巧与合并算法

在编程世界中,链表是一种基础且重要的数据结构,掌握链表操作对于解决算法问题至关重要。coding-problems项目提供了丰富的链表操作实现,本文将带你深入了解链表的核心操作技巧,包括反转链表和合并排序链表等关键算法,帮助你轻松应对各类链表问题。 ## 链表基础:理解节点结构与核心操作 链表由节点组成,每个节点包含数据和指向下一节点的指针。在coding-problems项目的[Linked

gitblog_00207的博客 827

【安全设备篇】HVV面试专题

还有就是这个可能是被访问的这个内网系统,本身业务系统存在业务逻辑问题,因为内网所布置的很多业务系统往往不会考虑一些安全性问题,比如在正常的业务逻辑请求中直接带了sql语句,就会触发设备规则产生告警,这一类是属于误报,然后会将此告警上报给研判人员,需要研判组专家和甲方客户确认下是否是该系统存在此业务逻辑问题,并且需要确认告警的源ip在此告警的时间段附近有没有进行操作过。天眼日志分析主要基于系统和应用程序的日志数据来识别安全威胁,而威胁感知则通过收集和分析多种来源的情报信息。理解威胁的性质和威胁背后的原理。

大河之犬的博客 7923

“反激电源”是AC/DC隔离电源还是DC/DC隔离电源?

所以在一些场景,我们的输入电压是一个DC,但是我们仍然需要隔离电源的需求,我们就会只采用图9.2的右半部分。在这个场景下“反激电源”是DC/DC。所以此AC/DC的本质是将AC变成高压的DC之后,用带隔离变压器的反激式开关电源产生一个隔离的、稳定的直流电压。一般在讲述各种电源的拓扑的文章和书籍都是在讲述AC/DC的电源拓扑分类的时候,讲述Flyback。反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源,反激式隔离变压器开关电源重点表述的是开关电源包含变压器的拓扑结构。

qq_43416206的博客 1293

coding - 复杂链表的复制

题目描述: 请实现函数ComplexListNode  *Clone(ComplexListNode *pHead),复制一个复杂链表。 在复杂链表中,每个节点除了一个指针指向下一个节点,还有一个指针m_pSibling指向链表中任意节点或者NULL。 节点的C++定义如下: struct ComplexListNode { int m_nValue; ComplexListNode

星星之火 722

芒果YOLOv12改进13:独家原创改进最新 CFNet 核心结构|即插即用 | 首发改进显著提升检测性能,小目标检测涨点必备

芒果YOLOv12改进13:独家原创改进最新 CFNet 核心结构|即插即用 | 首发改进显著提升检测性能,小目标检测涨点必备

包括YOLOv5、YOLOv7、YOLOv8等模型改进 285

Coding intervew: 链表反转

单向链表反转static class Node { Node next; int val; Node(int v){ this.val = v; } } public static Node reverse(Node head) { Node pre = null;

zhumingyuan111的博客 226

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

《cracking the coding intreview》——链表

前言 最近准备暑假回家回家修整一下,所以时间大部分用来完成项目上的工作,同时为了9月份的校招,晚上的时间我还在学习,第二章链表有几个不错的题目,记录一下   单链表 题目: Implement an algorithm to find the nth to last element of a singly linked list. 译文: 实现一个算法从一个单链表中返回倒

小一的专栏 1994

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

python coding with ChatGPT 打卡第3天| 移除链表、设计链表、反转链表

ChatGPT辅助刷题

baidu_33000721的博客 590

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Zerox 视觉模型 OCR 实战:从美国护照信息页到结构化 Markdown 的字段级还原与源码原理

本篇文章以 Zerox 开源仓库中一份真实运行产物为切入点——[shared/outputs/0038.md](https://link.gitcode.com/i/6284b9415f779e6a0c9ac9e9cc86a9ed) 是视觉模型对 [shared/inputs/0038.png](https://link.gitcode.com/i/c7b3668dd1af67246f6b301f

gitblog_00920的博客 758

Coding练习-2.链表孤岛检测

Coding练习-2.链表孤岛检测 使用快慢指针来检测单链表中是否存在孤岛/循环的存在 // 定义链表 struct ListNode { int val; ListNode* next; ListNode(int x) : val(x), next(NULL){} }; void checkCircleLink(struct ListNode *head) { struct ListNode *p1 = head; struct ListNode *p2 = hea

kevinfrankchen的博客 270

Coding练习-1.单链表反转

Coding练习-1.单链表反转 // 定义链表 struct ListNode{ int val; ListNode* next; ListNode(int x) : val(x), next(NULL){} }; void ListNode_Pushback(ListNode** head, int value){ ListNode* newNode = new ListNode(value); if (*head == NULL) *head

kevinfrankchen的博客 177

数据结构与算法之链表,滴滴面试coding

单链表的一个变形是单向循环链表,链表中最后一个节点的 next 域不再为 None,而是指向链表的头节点。//把下下一个节点设置为当前节点的下一个节点。//把下下一个节点设置为新节点的下一个节点。//原来的下一个节点作为新节点的下一个节点。//插入一个节点作为当前节点的下一个节点。//原来的下一个节点的上一个节点为新节点。//取出下一个节点,作为下下一个节点。//把新节点作为当前节点的下一个节点。//新节点作为当前节点的下一个节点。//当前节点作为新节点的前一个节点。//判断节点是否为最后一个节点。

m0_60607245的博客 393

coding-链表的插入、归并排序

/** * jh * 2019年04月24日 10:59 */ public class ListSort { static class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null;...

ginkgo_biloba的博客 296

极智Coding | 剖析 darknet C 链表实现

本文介绍一下 darknet 中链表的实现。

极智视界 535

Coding:两个从大到小的有序链表合并成一个从小到大有序链表

要求 请实现一个函数,把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表。 struct list { int value; list* next; }; list * merge (list *list1_head, list*list2_head); 代码 list *merge(list *list1_head,list *list2_head) { list *newlist = NULL; list *curr

luoyayun361的专栏 914

coding - 求单链表倒数第k个节点

题目描述: 输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0 个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 思路: 定义一个指针p2,先移动k步,然后在定义一个指针p1,同时移动p1和p2,直到最后。 p1所指即为倒数第k个节点。 ListNode *Fin

星星之火 756

coding-删除链表的倒数第 N 个结点

coding

m0_74969835的博客 305

coding - 二叉搜索树与双链表

题目源自《剑指offer》,要求将一个二叉搜索树转化为一个双链表。 思路:对于根节点root,将其左孩子指针lchild指向左子树最大节点,将其右孩子指针指向其右子树最小节点, 然后分别对左右子树递归调用。思想简单,代码写起来似乎需要慎重。 #include using namespace std; struct BinaryTreeNode { int m_nValue;

星星之火 825
上一篇: 二分查找。
下一篇: my纠正点
Ghost_Shellrrr
博客等级 码龄3年 72粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值