由买买提看人间百态

topics

全部话题 - 话题: linknode
(共0页)
t*****9
发帖数: 569
1
来自主题: JobHunting版 - Add two linked list
这段程序被鄙视了,我也觉得太繁琐,写得不够简练。
麻烦各位review一下,提点儿改进意见,我也学习一下。
public LinkNode AddLinkedList(LinkNode ln1, LinkNode
ln2, int carry)
{
LinkNode result = new LinkNode();
LinkNode idx1 = ln1;
LinkNode idx2 = ln2;
if ((idx1 == null) && (idx2 == null))
{
if (carry == 0) return null;
else
{
LinkNode node = new LinkNode... 阅读全帖
b********h
发帖数: 2451
2
来自主题: JobHunting版 - 一道挺简单的题给搞砸了
recursive solution?
linknode* Inverse_link(linknode* head){
if (head->next==NULL) return head;
else{
linknode* new_head=Inverse_link(head->next);
(head->next)->next=head;
head->next=NULL;
returen new_head;
}
}
n*****g
发帖数: 178
3
recursive的题我基本没怎么练过,基本只会BST中简单的查找之类的。我做得是网络方
面,感觉面试时候不太需要用到recursive。不过今天看到一面试题还是想弄明白其中
的recursive。想请教各位怎么理解?题目和解决方案如下:
Given a singly linked list, swap every two elements (e.g. a->b->c->d->e->f->
null should become b->a->d->c->f->e->null). Code it such that memory
position is swapped and not the node value.
linknode* swap (linknode* root)
{
if (root==NULL || root->next==NULL)
return root;
linknode* first, *second;
first = root;
if(first && first->next)
{
seco... 阅读全帖
s******d
发帖数: 424
4
练练手
LinkNode* reverse(LinkNode* head)
{
if(!head || !head->next) return head;
LinkNode* prev = head, *curr = prev->next, *next = curr->next;
while(curr)
{
curr->next = prev;
prev = curr;
curr = next;
next = next? next->next : NULL;
}
head->next = NULL;
return prev;
}
(共0页)