- 博客(5)
- 收藏
- 关注
原创 leetcode 96. 不同的二叉搜索树
假设集合A={b, c},集合B={0, 1, 2},则两个集合的笛卡尔积为{(b, 0), (b, 1), (b, 2), (c, 0), (c, 1), (c, 2)}。//S[j - 1]为以j为根节点的左子树,S[i - j]为以j为根节点的到i的右子树,整体等于模拟正整数i从1到i分别为头结点时左右子树的情况。//F(i,n)=S(i−1)*S(n−i),当前节点有多少种可能与两个子树有关,而子树又与子树的子树有关。//S(i−1)为以i为根的左子树, S(n−i)为其右子树。
2023-05-25 21:25:30
79
2
原创 leetcode 206. 反转链表
/pre为当前cur反转后要指向的对象,以1->2->null的顺序来看,2反转后要指向1,而1在2前面,所以命名为pre。//当处理完最后一个数据后移时,cur将变为nullptr,从而结束循环,pre为原链表的最后一个值,新链表的第一个值。//cur从第一个节点开始,而第一个节点反转后要指向空,所以pre最开始为nullptr。//让cur指向pre,更改cur的指向,即反转。//在从前向后遍历的过程中改变链表方向,如1->2->null变为null<-1<-2。//将pre和cur向后移动。
2023-05-24 19:03:22
30
原创 leetcode 89. 格雷编码
*格雷码每加1都会让二进制码多一位,比如n=1对应的是2^1个数0,1,n=2则变成00,01,11,10即为0,1,3,2,以此类推n=3时则为三位数,而n由1到2的过程就是先把0,1反转为1,0再把0和1前面都再加上一位1变成11,10,之后本身的0,1会自动在前面加上一位0变成00,01,二者相加得到00,01,11,10,每个都有两位二进制,且处理过程得到的结果满足题目要求,相邻的有一位不一样,首尾有一个不一样,之后转化为十进制即可,其余的以此类推*///将0压入,后续会在0后压入其他数。
2023-05-22 23:03:55
38
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人