算法题小结

20. 表示数值的字符串**程序写的很好

有固定的模板,先是【正负号】【数字】【.】【数字】【e】【正负号】【数字】,其中正负号可以省略。

程序思路,输入字符串

判断正负号

判断数字

如果有点,判断后面是否是数字(.前后可以没有数字)

如果是e,判断是否有数字(e前后必须跟数字)

21. 调整数组顺序使奇数位于偶数前面**程序号

快速排序,两个指针,一前一后,查到就交换,也可以用我总结的排序方法里的快速排序实现。

22. 链表中倒数第k个节点

O(1)的方法,两个指针,从头相差k个节点,第一个到null的时候,第二个就到了倒数第k个。

23. 链表中环的入口节点

它分成了三步走,两个指针,一个快一个慢,慢的和快的相遇处在环内,接着循环一遍,查环大小,最后两个指针,相差环长,一步步向前,相遇处即环入口。

24. 反转链表

三个节点,pre,curnext,两个节点会断链,注意头结点为空的情况。

25. 合并连个排序的链表

递归,每次取一个头。

26. 判断一个树是不是另一个的子结构**

先查匹配的root节点,查到后再递归查其他的。

double类型不能直接比较相等与否,精度不同,如果需要写,例子函数如下。

 

27. 二叉树的镜像

递归,左右交换

28. 对称的二叉树**代码有点意思

判断是否对称,前序遍历,先左后右,先右后左,两个得到的结果相同

29. 顺时针打印矩阵

这个题作者没考虑前面,他仅考虑了方形的情况。

30. 包含min函数的栈

这个他写的也不好,会出现错误。

31. 栈的压入、弹出序列**程序写的好

判断栈的顺序是否正确。

代码流程

栈空或者栈顶和弹出的序列不同,压入。

判断栈顶和弹出序列,若不同,跳出,相同,下一个。

最后判断栈是否空,弹出序列是否对比完,返回结果。

32. 从上到下打印二叉树

不分行打印,类似于队列,先进先出。

注:备忘。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值