和面试官对两道数据结构算法题持不同意见,望各位前辈给予指教,在此多谢各位了
题目:反转单链表
我的答案:
Public void ReversLinkList(LinkList H)
{
Node p=H.Next;
Node q= new Node;
H.Next= null;
While(p!= null)
{
q=p;
p=p.Next;
q.Next=H.Next;
H.Next=q;
}
}
面试官估计是没看懂,或者认为我写的不对,说给我提示去想循环和想交换两个结点。。我当时就被弄晕了,然后也不知道他是怎么想的。。。试图去理解,还是没弄明白,他好像要给我一些提示,让我顺着他的想法去给一个方法,但是我又觉得我的方法是对的。
然后我就努力去想我的,但是因为受他的几次干扰我思路也被打断了,最后终于给他讲明白了,没想到他说我的方法不好,很复杂,然后他又说了他的方法:
面试官的方法:
从链表的开始循环到结束,然后从最后一个结点开始往前依次交换结点。
我想了想没有想出面试官的方法为什么比我的好:(
面试结果这道题写的是 我的方法很笨。。。。
请问各位大侠,我的方法真的很笨吗?
然后还有一道:
求两个单链表是否有相同结点?如果有相同结点,返回第一个结点
为了方便只写思路吧。
我的思路:
1. 遍历两个链表,如果最后的结点相同则有相同结点,否则没有。
2. 比较两个链表的长度M和N(此处假设M>N),然后对于较长的那个链表,指针次后移直到 M-N 的位置(因为多出来的结点肯定不是相同结点),然后再去循环比较。
面试官说前部分对了,后半部分不对,因为我们并不知道哪一个是相同的结点,所以我从前往后找并不知道哪个在相同结点之前的结点多,所以要从后往前找。
当时被他给说晕了,所以说哦,是这样。
可是回来以后我还是觉得我的没错,因为自从相同结点到链表的最后一个结点,对于两个链表来讲结点个数是一样的,所以链表长的那个肯定是在相同结点之前结点比较多的那个。并不存在面试官所说的问题
面试结果是:
前半部分正确,后半部分只能在引导下才能领悟。
看了这两个面试结果我觉得很迷惑,请各位前辈指点迷津,多谢了!
相关推荐
产教融合实训基地与实践中心建设逻辑图-可编辑版
产教融合实训基地与实践中心建设逻辑图-可编辑版
idea2025-free.zip
idea2025-free.zip
sop基于灵敏度分析的有源配电网智能软开关优化配置升级1(Matlab代码实现)
内容概要:本文提出了一种基于灵敏度分析的有源配电网智能软开关(SOP)优化配置方法,旨在应对高比例分布式电源接入带来的电压波动与网络损耗加剧等问题。研究以IEEE33节点系统为算例,通过改进的灵敏度分析模型量化各节点对电压和功率流动的影响程度,进而构建SOP选址与定容的优化模型,实现降低网损、改善电压分布及提升系统运行灵活性的目标。全文详细阐述了灵敏度指标的数学推导、目标函数与约束条件的建模过程,并基于Matlab实现了完整的仿真求解流程,具备良好的工程实用性与学术参考价值。; 适合人群:电力系统及其自动化、电气工程等相关专业的硕士博士研究生、科研机构研究人员,以及从事智能配电网规划、运行与优化的工程技术人员。; 使用场景及目标:①研究分布式电源大规模接入背景下配电网的主动调控与优化策略;②指导智能软开关在实际配电网中的科学选址与容量配置;③为相关科研课题提供可复现的仿真案例,支撑学术论文撰写与算法验证。; 阅读建议:建议读者结合提供的Matlab代码与IEEE33节点标准模型进行动手实践,重点理解灵敏度指标的物理意义及其在优化模型中的应用逻辑,关注求解过程中的约束设置与算法收敛性,并可进一步拓展至SOP与储能联合配置、多时间尺度优化等复杂场景进行二次开发与研究。
Ubuntu安装Latex
关于Ubuntu安装Latex的详细记录和排错指南
高校技术转移办公室人员在成果转化过程中,如何实现科技成果与产业需求的高效对接?.docx
高校技术转移办公室人员在成果转化过程中,如何实现科技成果与产业需求的高效对接?


