
leetcode
wzbwzt
这个作者很懒,什么都没留下…
展开
-
后缀算法与中缀算法
中缀算法 就是日常计算中用到的类似a+b的算法表达式;运算符位于两个运算数中间的位置; 后缀算法 相比较中缀表达式的结构,不难推出后缀表达式的格式,就是符号位于两个运算量的后边位置,比如ab+表示的就是a+b;后缀表达式又称逆波兰表达式; 优点在于:可以配合栈(stack)来完成运算,这种运算只需要按顺序进行而不需要考虑运算符的优先级,并且速度很快。 以后缀表达式:abc+de+;为例,他的运算过程是: 1.将a,b先后入栈; 2.读取到*,将a、b出栈,计算ab;将结果再入栈; 3.将c入栈;读取到+;原创 2020-08-04 14:59:24 · 1637 阅读 · 0 评论 -
判断一个链表是否有环
题目: 给定一个链表,判断链表中是否有环。 pos 表示链表尾连接到链表中的位置(索引从 0 开始) 示例1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例2: 输入:head = [1,2], pos = 0 输出:true 解释:链表中有一个环,其尾部连接到第一个节点。 思路: 首先判断head不可以为nil 对于head.Next节点为nil的返回false 对head做赋值,分别给a和b;让a走两步,b走一步;原创 2020-08-03 17:15:45 · 119 阅读 · 0 评论 -
判断两个链表相交的起始节点
题目: 找到两个单链表相交的起始节点; 比如: 从c1开始相交: 输入: listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], 输出: 8 思路: 首先对于传入的A链、B链判断不能为nil; 只要两个节点不相等就循环,知道找到相等的那个节点 A、B每次都是走一步,走到头会延续对方的路走,这样他们走的路就是相同的;只要不是平行,必然可以找到那个相交的节点; 代码: type ListNode struct { Val int Next *Li原创 2020-08-03 16:58:25 · 232 阅读 · 0 评论