N叉树遍历相关(144,94,102,102,107,199,429,515,16,117,104,111)
144. 二叉树的前序遍历 1.用递归。 2.递归结束条件是root为null。 3./ 4.用了半个小时。 二叉树的后序遍历1.用递归。 2.递归结束条件是root为null。 3.递归那里忘记传入数组。 4.用了半个小时。 二叉...
144. 二叉树的前序遍历 1.用递归。 2.递归结束条件是root为null。 3./ 4.用了半个小时。 二叉树的后序遍历1.用递归。 2.递归结束条件是root为null。 3.递归那里忘记传入数组。 4.用了半个小时。 二叉...
150. 逆波兰表达式求值 知道会用到栈,要用到入栈和弹出操作。 遇到数就入栈,遇到操作符就弹出两个操作数,用操作符进行计算,然后将结果入栈,直到遍历完后缀表达式,栈中最后一个元素就是逆波兰表达式计算结果。 注意两个数在和操作符的相对位置,弹...
232.用栈实现队列 知道要用两个栈实现,具体咋做忘了。队列的特性是先进先出,栈是先进后出,入队操作直接入栈就行,实现出队操作,入栈的第一个元素在栈最下面出来需要借助另一个栈b,先将所有元素入栈b,这样出栈的时候就是入队的第一个元素了,javasc...
151.翻转字符串里的单词 感觉需要用到反转字符串操作,但空格不知道如何处理。 先反转整个字符串,然后对单词进行反转,需要注意空格的处理。 3.坚持循环不变量原则,while循环中尽量将循环变量自增操作放置在最后,这样可以让循环变量自增后有...
344. 反转字符串 感觉需要用到指针,但不知道咋做。 倒序就是一个交换left,right指针对应指针值的过程。 纠结在javascript中能不能用字符串索引(就是当数组用),javascript中不能像数组那样索引元素。 再一次见识到...
454.四数相加II 暴力算法。 先两个循环将和放到map中,再两个循环求和查询map,计算总数求和,将一个4层循环复杂度降低了。要查找一个元素是否出现用map, map也是一个hash结构。 3.没啥问题。 用了半个小时左右。 赎金信...
242.有效的字母异位词 对每一个字符串用一个字典统计每个字母出现的次数,最后比较两个字典是否key和value都相同。都相同则是有效字母异位词, javascript中如何实现字典的key和value的比较? 这个编程问题可以分解为多个查询...
24.两两交换链表中的节点 第一想法是不知道这个题如何做,知道有改变指针这个操作。 双指针也太好用了,用双指针整个过程就是一个双指针移动加修改指针的过程,就像织毛衣一样的感觉。这里竟然要保存两个临时指针变量。 要保存两个临时指针变量,结合示意...
203.移除链表元素 1.这个移除链表的原理已经懂了。 2.和我的方法差不多,但卡哥的代码没有用到temp变量,节省了内存。 3.当遇到要删除的元素时,prev指向待删除元素的下一个节点后,这个时候prev是否需要移动要看cur移动后对应的节点是否...
977.有序数组的平方 1.最先是对题目有点看不懂,为啥会强调非递减,元素平方后负数会变为正数,原有的非递减顺序会改变。最直接想到的是直接数组每个元素求平方然后对数组排序。 2.非递减这个条件利用的好,较大的数位于数组两端,这就为用双指针解法创造了...