随笔分类 - 算法
摘要:前言 非递归算法中,前中后序遍历需要借助栈,层序遍历需要借助队列 前中后序遍历的递归算法中,语法大致相同,只是执行顺序不同,注意 前序遍历 方法一:递归算法 /** * Definition for a binary tree node. * struct TreeNode { * int val;
阅读全文
摘要:找链表的中间节点 思路 心得 当不知道while的终止条件时,可以先写while(true),然后在循环体中写终止条件,这样写的好处是可以暂时不考虑终止条件,使思路更清晰;坏处是这样有时候会使循环体的内容很混乱 要注意分类!本题中把情况分为节点个数是奇数和偶数去分析,最终找到统一的循环终止条件,就能
阅读全文
摘要:回文链表 方法一:借助数组进行判断 把节点的值复制到一个数组中再利用数组进行判断,但是这样需要占用额外的空间 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Lis
阅读全文
摘要:反转链表 方法一:迭代法 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListN
阅读全文