ARTS-Week 01

用户头像
chasel
关注
发布于: 2020 年 06 月 05 日
ARTS-Week 01

Algorithm

反转链表 https://leetcode-cn.com/problems/reverse-linked-list/

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL

解题:

思路1:使用数组依次添加链表元素,在反向遍历数组生成一个新的链表.

思路2:使用递归

func reverse(head: ListNode<String>?) -> ListNode<String>? {
if head == nil || head?.next == nil {
return head
}
let newHeader = reverse(head: head?.next)
head?.next?.next = head
head?.next = nil
return newHeader
}

Review

https://www.bobthedeveloper.io/blog/10-tips-to-become-a-better-swift-developer

介绍了10个swift更优雅的实现方式

eg:

  • 可以为系统类添加extension实现某些常用函数。

  • 同种逻辑对象应该使用泛型。

  • 使用关键字guard 替换if。

  • 使用$进行相关运算

Tips

WKWebview使用goback函数返回上一次浏览页面时如果前端使用了重定向则webview会判断canGoBack永远为true,goback返回的是当前地址.

解决方法:1.网页端取消重定向逻辑.

2.客户端判断当前浏览的地址和返回的地址是否同一个.

Share

https://mp.weixin.qq.com/s/zfND2woda5zELvJcT73T6w

分析了iOS经典日志框架CocoaLumberjack的实现方式.当自己需要实现一个日志框架时很多地方值得借鉴.



用户头像

chasel

关注

还未添加个人签名 2018.03.20 加入

还未添加个人简介

评论

发布
暂无评论
ARTS-Week 01