随笔分类 -  算法

摘要:前言 非递归算法中,前中后序遍历需要借助栈,层序遍历需要借助队列 前中后序遍历的递归算法中,语法大致相同,只是执行顺序不同,注意 前序遍历 方法一:递归算法 /** * Definition for a binary tree node. * struct TreeNode { * int val; 阅读全文
posted @ 2023-04-27 22:42 陈陈相因的陈 阅读(31) 评论(0) 推荐(0) 编辑
摘要:找链表的中间节点 思路 心得 当不知道while的终止条件时,可以先写while(true),然后在循环体中写终止条件,这样写的好处是可以暂时不考虑终止条件,使思路更清晰;坏处是这样有时候会使循环体的内容很混乱 要注意分类!本题中把情况分为节点个数是奇数和偶数去分析,最终找到统一的循环终止条件,就能 阅读全文
posted @ 2023-04-20 23:44 陈陈相因的陈 阅读(12) 评论(0) 推荐(0) 编辑
摘要:回文链表 方法一:借助数组进行判断 把节点的值复制到一个数组中再利用数组进行判断,但是这样需要占用额外的空间 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Lis 阅读全文
posted @ 2023-04-20 23:10 陈陈相因的陈 阅读(15) 评论(0) 推荐(0) 编辑
摘要:反转链表 方法一:迭代法 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListN 阅读全文
posted @ 2023-04-18 21:52 陈陈相因的陈 阅读(11) 评论(0) 推荐(0) 编辑
摘要:哈希法和双指针解决相交链表问题 阅读全文
posted @ 2023-04-16 22:49 陈陈相因的陈 阅读(17) 评论(0) 推荐(0) 编辑
摘要:快慢指针解决Floyd判圈问题 阅读全文
posted @ 2023-04-08 22:14 陈陈相因的陈 阅读(28) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示