LeetCode #141 Linked List Cycle

题目:

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?

 

分析:

检查链表是否有圈。

题目要求不能使用多余的空间。于是这里使用Floyd判圈算法,又称龟兔赛跑算法。算法逻辑如下:

  1. 指针hare初始化指向链表头结点,每次向后移动2个节点
  2. 指针tortoise初始化指向链表头结点,每次向后移动1个节点
  3. 如果hare最终指向尾节点或尾节点前一个节点(总结点数可能是奇数也可能是偶数),则该链表无圈。
  4. 如果hare和tortoise又指向了同一个节点,则该链表有圈。

通俗点的解释就是:龟兔赛跑,如果是一条直线,兔子永远会跑在前面;如果兔子发现又追上乌龟了,那么只能是兔子套了乌龟一圈。

Continue reading LeetCode #141 Linked List Cycle

网站搬家基本流程

由于一些备案问题,最近把网站从国内服务器搬到了国外服务器。现在总结一下网站搬家的基本流程和注意事项:

  1. 登陆原站点所在的虚拟主机服务商账户,进入数据库管理页面,对数据库进行备份,并下载到本地。
  2. 使用FTP工具将原站点文件从服务器下载到本地,并上传到新站点所在服务器。
  3. 如果使用了wordpress等博客平台,需要重新进行安装。注意数据表前缀一定要和原站点的数据表前缀一致,否则在之后的步骤中数据库将无法正常导入。
  4. 登陆新站点所在的虚拟主机服务商账户,进入数据库管理页面,将备份好的数据库导入。注意数据库文件名称(要与新站点连接的数据库名称一致),以及要求的文件格式(例如有些服务商会要求以zip格式上传)。
  5. 登陆域名服务商账户,将域名解析到新站点。
  6. 域名解析成功后,关闭原站点。

注意事项:

  • 在新站点重新安装wordpress后,记得删除install.php。否则会留下安全隐患。
  • 为了尽量不影响用户访问,建议在凌晨进行升级维护。

WordPress在当前位置中的多级分类目录间插入分隔符

对于网站来说,以清晰的层次、正确的格式显示当前位置是十分重要的。这既可以让用户更好地了解当前页面的分类,又增添了美观性。 在有些主题中,我们为文章设置了多级分类后,显示出的格式却有些问题。例如我目前使用的FLAT主题,显示如下:

“计算机科学与技术”和“Wordpress”本应是2个父子层级分类,显示出来却挤在了一起,让人误以为是一个分类。因此,我们要在其中插入分隔符。

方法一:

进入后台点击外观 – 编辑 – 文章页面(single.php),找到调用get_category_parents函数的地方,该函数会返回各级分类并控制其格式。四个参数分别是:

  1. category  (integer) 要返回父级分类的类别ID。默认为当前类别ID。
  2. display link  (boolean) 是否为各级分类创建链接。
  3. separator  (string) 各个类别分开的符号。
  4. nice name  (boolean) 是否显示分类别名(就是在URL中使用的名称)。默认为FALSE。

Continue reading WordPress在当前位置中的多级分类目录间插入分隔符

Configure SMTP插件解决WordPress邮件发送问题

对于个人博客来说,邮件收发是一个很重要的部分。无论是数据库自动备份、还是评论回复提醒,都要用到这一功能。不幸的是,国内很多服务器都禁用了mail()函数。而幸运的是,Configure SMTP插件解决了这一问题。

如何知道所用服务器是否禁用了mail()?

在wordpress中的登陆页面,点击忘记密码,输入邮箱地址后点击获取新密码,如果邮件发送失败,则表示服务器禁用了mail()函数。

Configure SMTP

插件下载地址 http://wordpress.org/plugins/configure-smtp/

安装后进入后台 – 设置 – SMTP,对插件进行设置。

选择使用Gmail的话就很省事了,许多设置都会自动填充。

Continue reading Configure SMTP插件解决WordPress邮件发送问题

记录生活点滴,积累自我价值——博客开篇

总能找到各种理由,让自己处于不断忙碌之中,感觉做了很多,却又拿不出什么成果。

人并没有想象中那么了解自己。做过什么,在做什么,要做什么。清楚地回答这三个问题并没那么容易。或许借助文字,我们可以更好地认识自己,大概记录文字的过程本身会强迫自己思考吧。

因此,我一直希望能有一个博客,记录一些自己的想法和感受。如今,忙完实验室和申请出国等诸多事宜,终于有时间实现这个想法了。

希望自己不要半途而废,坚持做下去吧。十年、二十年之后再来回顾,一定是件很有趣的事。