Home > Database > Mysql Tutorial > Cracking the Coding Interview Q2.2

Cracking the Coding Interview Q2.2

WBOY
Release: 2016-06-07 15:00:57
Original
1097 people have browsed it

题干如下: /* Instruction: Implement an algorithm to find the kth to last element of a singly linked list. */ 我用了一个private一个public函数实现。。 public函数是由main函数调用,然后public的函数又调用private,这主要是因为传递函数包括头指针

题干如下:

/* Instruction: Implement an algorithm to find the kth to last element of a singly linked list. */
Copy after login
我用了一个private+一个public函数实现。。

public函数是由main函数调用,然后public的函数又调用private,这主要是因为传递函数包括头指针,而头指针在我写的类里面是一个private类型。。

public函数如下所示:

/* find the kth to last element */
node* linkedlist::kth(int k) {
	int i = 0;
	node* result = kth(head, k, i);
//	cout character 很直观,不需要解释,就是调用一个private函数,如下所示:
<pre class="brush:php;toolbar:false">node* linkedlist::kth(node* head, int k, int& i) {
	if(head == NULL)
		return NULL;
	node* current = kth(head->next, k, i);
	++i;
	if (i == k) {
		cout character 运用recursive,不断地将current指针向后移,指向尾指针,当执行kth(tail, k, i)时,i=0,之后每执行完一个函数,则++i。当i = k时,就可以得到倒数第k个node指向的值。
<p>另外补充一定,之所以用int& i是因为i的值要不断更新,所以每个function的i的地址都要一样,故用了引用标志&</p>
<p>源码如下: https://github.com/YimengL/CTCI-cpp/blob/master/2_2.cpp</p>


Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template