单链表相关面试题--3.给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点

news/2024/11/29 9:37:30/

 

/*
解题思路:
通过快慢指针找到中间节点,快指针每次走两步,慢指针每次走一步,当快指针走到结尾的时候,慢指针正好走到中间位置
*/
typedef struct ListNode Node;
struct ListNode* middleNode(struct ListNode* head){Node* slow = head;Node* fast = head;while(fast!=NULL && fast->next != NULL){slow = slow->next;fast = fast->next->next;}return slow;
}


http://www.ppmy.cn/news/1229365.html

相关文章

封阳台窗户怎么选

雅静说主要是选好框架,玻璃,配件,      1,关于框架,如果你家在十楼以上,建议选102或108的材料,      因为楼层高,风压也大,所以型材的体积越大才能越稳定&#x…

Nas搭建webdav服务器并同步Zotero科研文献

无需云盘,不限流量实现Zotero跨平台同步:内网穿透私有WebDAV服务器 文章目录 无需云盘,不限流量实现Zotero跨平台同步:内网穿透私有WebDAV服务器一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zote…

Qt的委托代理机制

委托是Qt中的一种机制,用于在Qt模型/视图架构中处理特定类型的数据。委托提供了一种方便的方法来定制特定类型的数据的显示和编辑。委托可以做以下事情: 编辑特定类型的数据: 通过创建编辑器来编辑特定类型的数据,例如日期,数值等。 渲染特定类型的数据: 通过定制单…

list转map(根据某个或多个属性分组)

需要将对应的list换成本地list&#xff0c;和对象换成本地对象 1、List转Map<String,List> // 根据一个字段分组 Map<String, List<String>> map objectLists.stream().collect(Collectors.groupingBy(Object::getName,Collectors.mapping(Object::getId, …

单链表相关面试题--1.删除链表中等于给定值 val 的所有节点

/* 解题思路&#xff1a;从头节点开始进行元素删除&#xff0c;每删除一个元素&#xff0c;需要重新链接节点 */ struct ListNode* removeElements(struct ListNode* head, int val) {if(head NULL)return NULL;struct ListNode* cur head;struct ListNode* prev NULL;while…

java基础练习缺少项目?看这篇文章就够了(下)!

公众号&#xff1a;全干开发 。 专注分享简洁但高质量的动图技术文章&#xff01; 回顾 在上节内容中&#xff0c;我们实现了用户开户的功能createAccount public void start(){System.out.println("欢迎您进入到了ATM系统");System.out.println("1、用户登录&…

Linux -- httpd服务

httpd服务 apache和nginx都可以作为web服务器&#xff0c;但nginx用的更多 性能&#xff1a; Nginx通常被认为在处理并发连接和静态内容时更有效率。配置&#xff1a; Apache的配置相对更复杂&#xff0c;而Nginx的配置更直观和简洁。用途&#xff1a; Apache广泛用于传统的W…

酷开会员丨酷开系统让居家K歌变得更简单!

音乐到底有着怎样的力量呢&#xff1f;一般的健身运动大多活动四肢和肌肉&#xff0c;而唱歌却能能按摩到内脏&#xff0c;促进脏腑健康。唱歌时&#xff0c;吸气与呼气间&#xff0c;横膈肌大幅度、频繁地上下移动&#xff0c;使胸腔、腹腔产生振动&#xff0c;这种震荡作用可…