摘要:
给定两个字符串s1和s2,要求判断s2是否能够被s1做循环移位得到的字符串包含。例如,给定s1=AABCD和s2=CDAA,返回true;给定s1=ABCD,s2=ACBD,返回false。 思路:最直接的方法是循环移位s1,遍历s1并判断是否包含s2。但这种方法效率不高。经书本提示,问题可转换为... 阅读全文
posted @ 2012-09-20 14:12
macemers
阅读(221)
评论(0)
推荐(0)
摘要:
假设一个没有头指针的单链表,只有一个指向中间节点(不是头尾节点)的指针,请将该节点从单链表中删除。 思路:假设中间一段链表为 A->B->C,而p指向节点B。因为没有头节点,其实无法追溯回A,然后使A->C。所以这里的技巧是将C中的value值赋给B中,使B成为C,然后删除真正的C,从而达到目的。... 阅读全文
posted @ 2012-09-20 13:22
macemers
阅读(538)
评论(0)
推荐(0)
摘要:
判断两个链表是否相交,若相交则求其交点(指第一个相交的点)。 思路1,利用计数法: 遍历链表1,将其节点的内存地址存入map或者hashmap内。然后遍历链表2,并查询map或者hashmap,判断链表2节点是否在里面。若存在,则两者相交,且交于此节点。此方法时间复杂度是O(Length(List... 阅读全文
posted @ 2012-09-20 10:29
macemers
阅读(418)
评论(0)
推荐(0)