第二十九天(2):面试中两个错误案例

T1

把一个字符串转换成整数

int StrToInt(char* string)
{
	int number = 0;
	while(*string != 0)
	{
		number = number * 10 + *string - '0';
		++string;
	}
	return number;
}

T2

求链表中的倒数第k个结点

ListNode* FindKthToTail(ListNode* pListHead, unsigned int k)
{
	if(pListHead == NULL)
		return;
	ListNode *pAhead = pListHead	
	ListNode *pBehind = NULL;
	
	for(unsigned int i = 0;i < k - 1; ++1)
		pAhead = pAhead->m_pNext;
	pBehind = pLostHead;
	while(pAhead->m_pNext != NULL)
	{
		pAhead = pAhead->m_pNext;
		pBehind = pBehind->m_pNext;	
	}
}

Attention

  1. 最好的办法,动手写代码前,想好测试用例,只有把各种可能的输入事先都想好了,才能在写代码的时候,把各种情况都做相应的处理,写完后也不急于立刻给面试官检查
  2. 面试官除了希望代码能够完成基本的功能,还会关注其是否考虑了边界条件、特殊输入(NULL, 空字符串等)及错误处理
发布了182 篇原创文章 · 获赞 101 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/lancecrazy/article/details/100597416